私は、通知のリストは、Androidデバイス上で利用できるサウンドを取得するには、次のコードを使用しています:通知サウンドをプログラムで設定しないでURIを使用して再生する方法
public static ArrayList<String> getNotificationSounds(Activity curActivity) {
RingtoneManager manager = new RingtoneManager(curActivity);
manager.setType(RingtoneManager.TYPE_NOTIFICATION);
Cursor cursor = manager.getCursor();
ArrayList<String> list = new ArrayList<>();
while (cursor.moveToNext()) {
String id = cursor.getString(RingtoneManager.ID_COLUMN_INDEX);
String uri = cursor.getString(RingtoneManager.URI_COLUMN_INDEX);
String name = cursor.getString((RingtoneManager.TITLE_COLUMN_INDEX));
list.add(name);
}
return list;
}
今、私はこれらの通知音(なしの画像、またはタイトル)のいずれかをプレイしたい、だけ音を省略すると、デフォルトとして設定されます。
は、私はそのデータソースを言ってエラーが出る
String uri = cursor.getString(RingtoneManager.URI_COLUMN_INDEX);
上記の方法から得られるこのURIを使用することにより
RingtoneManager.setActualDefaultRingtoneUri(this,RingtoneManager.TYPE_NOTIFICATION,soundClipUri);
を使用して、デフォルトとして音を設定することをお勧め多くのソリューションを見てきました有効じゃない。
ので、それを合計する
1)どのようにそれをデフォルトとして設定することなく、通知音を再生するには?
2)通知音のUriを取得して使用するにはどうすればよいですか?
EDIT:私は上記のカーソル問合せからURIを印刷しようとしたとき、私は同じ結果を得る:使用可能な通知音のすべてのための
content://media/internal/audio/media
を。
これに通知音符を追加し、結果をUriとして渡すことになっていますか?
通知を再生するコード:
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(),uri);
r.play();
「私はというエラーを取得:getNotification音URI方式のため
コード:ここで
溶液が、私は通知音のURIを取得し、次のコードを使用して、それを再生していますそのデータソースは有効ではありません " - Uriとは何ですか?どうやって使ってるの? – CommonsWare私の質問の編集:) – SoulRayder
@CommonsWare:どうぞご覧ください。 – SoulRayder