19

ユーザーがアプリで通知の着信音を選択できるようにしています。人間が読めるサウンドのタイトルとともに、サウンドの URI を保存したいと考えています。

これまでのところ、URI コードはうまく機能しています。

Uri uri = intent.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);

しかし、タイトルを取得してボタンテキストとして設定しようとすると、何も取得できません。タイトルがないような?

String title = intent.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_TITLE);
button.setText(title);

しかし、私のボタンテキストは空です。私が行った場合:

button.setText(uri.toString());

それから私はウリを完全に見ます。URIからタイトルを取得しようとするだけですか? ありがとう

4

3 に答える 3

50

これはそれを取得する必要があります:

Ringtone ringtone = RingtoneManager.getRingtone(this, uri);
String title = ringtone.getTitle(this);

ドキュメントについてはhttp://developer.android.com/reference/android/media/Ringtone.htmlを参照してください。

于 2013-10-04T18:09:16.493 に答える
0

「MediaPlayer がリリースされずにファイナライズされました」という問題がありました。私はこれを使用します:

Cursor returnCursor = getContentResolver().query(uri, null, null, null, null);
returnCursor.moveToFirst();
String title = returnCursor.getString(returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
returnCursor.close();

ドキュメントについては、https://developer.android.com/training/secure-file-sharing/retrieve-info.htmlを参照してください。

于 2015-08-19T14:14:19.620 に答える