我正在嘗試爲通知設置自定義聲音。設置通知的自定義聲音
詳情:
我試圖通過用戶的選擇來設置的通知聲音(從他們的電話存儲)。 因爲我保存路徑到數據庫,當通知來了,顯示通知和設置聲音;我從存在通知ID獲取聲音。
從那我決定哪個聲音應播放聲音哪個用戶選擇或默認聲音....但這不是在所有工作......它播放沒有聲音甚至默認一個。
如何設置/播放用於通知的自定義聲音!?
谷歌研究後:從原始文件夾播放聲音的許多建議,但我沒有得到通過我保存用戶選擇聲音原始文件夾(當然程序化盟友)的答案,所以我可以播放原始文件夾中的聲音..
PS有許多與此相關的ANS但他們並沒有與我的要求
這符合我的代碼:
private void showNotification(Context context, Things things) {
try {
NotificationManager mNotifyMgr =
(NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.icon)
//example for large icon
.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.drawable.icon))
.setContentTitle(things.getTitle())
.setContentText(things.getThing()).setSubText(things.getNotification())
.setOngoing(false)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
.setAutoCancel(true);
Intent i = new Intent(context, HomeActivity.class);
PendingIntent pendingIntent =
PendingIntent.getActivity(
context,
0,
i,
PendingIntent.FLAG_ONE_SHOT
);
// example for blinking LED
mBuilder.setLights(0xFFb71c1c, 1000, 2000);
if (things.getRingtone() == null || things.getRingtone().equals("")) {
mBuilder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
} else {
Ringtone r = RingtoneManager.getRingtone(context, Uri.parse(things.getRingtone()));
r.play();
Toast.makeText(context, things.getRingtone(), Toast.LENGTH_SHORT).show();
}
//mBuilder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
mBuilder.setContentIntent(pendingIntent);
mNotifyMgr.notify(12345, mBuilder.build());
} catch (Exception e) {
Log.d(getClass().getName(), "catch " + e.toString());
}
}
降票原因? – pie
@Rucha Bhatt可以嗎? – pie
嗨歡迎來到stackoverflow,在這裏我已經試圖通過編輯你的問題來幫助你,所以其他人可以很容易地理解,我從來沒有嘗試過,但我會嘗試和研究的東西,讓你知道.. thanx –