通知のデフォルトの音を変更しようとしていますが、次のようにしています。
private void showNotification(Context context, String reminderid, String title, String shortinfo, String longinfo)
{
mNM = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
NOTIFICATION=Integer.parseInt(reminderid);
Notification notification = new Notification(R.drawable.icon, title,
System.currentTimeMillis());
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
new Intent(context, RemindersActivity.class).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
notification.setLatestEventInfo(context, shortinfo,
longinfo, contentIntent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");
notification.defaults |= Notification.DEFAULT_VIBRATE;
mNM.notify(NOTIFICATION, notification);
}
ただし、番号に「6」のIDを付けていることに気付くでしょURI.withAppendedPath()
う。ユーザーが利用できるすべての通知着メロをリストして、ユーザーに選択させる必要があります。「6」の代わりに、ユーザーが選択したIDを渡します。 。
ここでグーグルは言う:
この場合、メディアファイルの正確なID( "6")がわかっており、コンテンツのURIに追加されます。正確なIDがわからない場合は、MediaStoreで利用可能なすべてのメディアをContentResolverで照会する必要があります。ContentResolverの使用の詳細については、コンテンツプロバイダーのドキュメントを参照してください。
彼らの言うことをどのように行うことができますか(私はコンテンツプロバイダーやリゾルバーと一緒に仕事をしたことがないことに注意してください)?電話の設定で着信音を選択するなど、通知用の着信音を選択するオプションをユーザーに提供しますか?
前もって感謝します。