gpt4 book ai didi

android - 我想从 Assets 文件夹设置推送通知声音,Android

转载 作者:行者123 更新时间:2023-11-30 00:34:27 25 4
gpt4 key购买 nike

我在 asset 文件夹中有一个名为“error.mp3”的 .mp3 文件。我想将声音与推送通知一起设置,我该怎么做,我已经尝试使用这段代码来做到这一点

 Uri sound = Uri.parse("file:///android_asset/error.mp3");
mBuilder.setSound(sound);

但它不起作用,当我使用默认通知声音时,它起作用了。我需要一些帮助...

这是我的BroadcastReceiver

public class Notificationmassage extends BroadcastReceiver {


@Override
public void onReceive(Context context, Intent intent) {


showNotification(context);

}

private void showNotification(Context context) {
Log.i("notification", "visible");



PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
new Intent(context, MainActivity.class), 0);

NotificationCompat.Builder mBuilder =
(NotificationCompat.Builder) new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic)
.setContentTitle("Radio Planet")
.setContentText("Explore music");
mBuilder.setContentIntent(contentIntent);


mBuilder.setVibrate(new long[] { 500, 500});


//Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
//mBuilder.setSound(alarmSound);



Uri sound = Uri.parse("file:///android_asset/error.mp3");
mBuilder.setSound(sound);

mBuilder.setAutoCancel(true);
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(2, mBuilder.build());


}
}

最佳答案

请尝试将您的.mp3 文件放在原始文件夹而不是assets 中,有时它不起作用,所以请这样使用

Uri path = Uri.parse("android.resource://com.example.test/" + R.raw.sample);

com.example.test//用你的包名替换它

然后设置

mBuilder.setSound(path);

文件夹结构

res/raw/test.mp3

希望它对你有用。享受编程。

enter image description here

enter image description here

关于android - 我想从 Assets 文件夹设置推送通知声音,Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43672493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com