自定义通知声音,android奥利奥?

自定义通知声音,android奥利奥?,第1张

概述我想在我的应用程序中从原始mp3或wav文件设置自定义通知声音. 以下是我的代码 private void sendMyNotification(String message) { Intent intent; if (sharedPreferences.getBoolean(SPConstants.IS_LOGGED_IN, false)) { intent = 我想在我的应用程序中从原始mp3或wav文件设置自定义通知声音.
以下是我的代码
private voID sendMyNotification(String message) {    Intent intent;    if (sharedPreferences.getBoolean(SPConstants.IS_LOGGED_IN,false)) {        intent = new Intent(this,ActivityNotification.class);    } else {        intent = new Intent(this,ActivitySplash.class);    }    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_top);    PendingIntent pendingIntent = PendingIntent.getActivity(this,intent,PendingIntent.FLAG_ONE_SHOT);    Uri soundUri = ringtoneManager.getDefaultUri(ringtoneManager.TYPE_NOTIFICATION);    soundUri = Uri.parse("androID.resource://" + getApplicationContext().getPackagename() + "/" + R.raw.panic);    AudioManager manager = (AudioManager)getSystemService(Context.AUdio_SERVICE);    manager.setStreamVolume(AudioManager.STREAM_MUSIC,100,0);    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this,CHANNEL_ID)            .setSmallicon(R.mipmap.ic_launcher)            .setContentTitle(getString(R.string.app_name))            .setContentText(message)            .setautoCancel(true)            .setSound(soundUri)            .setContentIntent(pendingIntent);    notificationmanager notificationmanager =            (notificationmanager) getSystemService(Context.NOTIFICATION_SERVICE);    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {        NotificationChannel mChannel = new NotificationChannel(CHANNEL_ID,channelname,notificationmanager.importANCE_HIGH);        notificationmanager.createNotificationChannel(mChannel);    }    notificationmanager.notify(0,notificationBuilder.build());}

恐慌音频文件位于res-> raw.
我试图使用声音的mp3和wav格式,但似乎没有什么工作来设置通知声音.
我目前正在测试Pixel 2 OS 8.1.

有什么建议可能是什么问题?

解决方法 >经过测试的打击代码并按预期与我合作.
>添加内容意图,仍然可以正常工作,没有任何问题.
private voID sendMyNotification(String message) {Intent intent = new Intent(this,SplashActivity.class);intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_top);PendingIntent pendingIntent = PendingIntent.getActivity(this,PendingIntent.FLAG_ONE_SHOT);Uri soundUri = Uri.parse("androID.resource://" + getApplicationContext().getPackagename() + "/" + R.raw.correct_answer);NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this,"CH_ID")        .setSmallicon(R.mipmap.ic_launcher)        .setContentTitle(getString(R.string.app_name))        .setContentText(message)        .setautoCancel(true)        .setSound(soundUri)        .setContentIntent(pendingIntent);notificationmanager mnotificationmanager = (notificationmanager) getSystemService(Context.NOTIFICATION_SERVICE);if (androID.os.Build.VERSION.SDK_INT >= androID.os.Build.VERSION_CODES.O) {    if(soundUri != null){        // Changing Default mode of notification        notificationBuilder.setDefaults(Notification.DEFAulT_VIBRATE);        // Creating an Audio Attribute        AudioAttributes audioAttributes = new AudioAttributes.Builder()                .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)                .setUsage(AudioAttributes.USAGE_ALARM)                .build();        // Creating Channel        NotificationChannel notificationChannel = new NotificationChannel("CH_ID","Testing_Audio",notificationmanager.importANCE_HIGH);        notificationChannel.setSound(soundUri,audioAttributes);        mnotificationmanager.createNotificationChannel(notificationChannel);    }}mnotificationmanager.notify(0,notificationBuilder.build());}

更新

>您可能需要卸载应用程序以更改声音设置,请查看这些link以获取更多详细信息.

总结

以上是内存溢出为你收集整理的自定义通知声音,android奥利奥?全部内容,希望文章能够帮你解决自定义通知声音,android奥利奥?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1131278.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存