4

通知のデフォルトの音を変更しようとしていますが、次のようにしています。

     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の使用の詳細については、コンテンツプロバイダーのドキュメントを参照してください。

彼らの言うことをどのように行うことができますか(私はコンテンツプロバイダーやリゾルバーと一緒に仕事をしたことがないことに注意してください)?電話の設定で着信音を選択するなど、通知用の着信音を選択するオプションをユーザーに提供しますか?

前もって感謝します。

4

1 に答える 1

1

生のフォルダにサウンドを追加し、初期化することができます

MediaPlayer mpSplash = MediaPlayer.create(this, R.raw.slow);

必要に応じて電話してください

    mpSplash.start();
于 2012-08-28T20:37:25.613 に答える