3

プログラムでAndroidで電話の着信音のタイプ名を取得する方法.着信音ID(://media/internal/audio/media/53)のみを取得できます。name(panic)代わりに着信音を取得id(53)する方法.助けてください.

次のコードを使用して、着信音の名前を取得しました。

Uri mUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI); 
Cursor mCursor = query(mUri, null, null,null, null); 
mCursor.moveToFirst(); 
String ringtoneName= Cursor.getString(mCursor.getColumnIndex("title")); 
Toast.makeText(getApplicationContext(), "Ringtone"+ringtoneName+"", Toast.LENGTH_SHORT).show(); 

しかし、それはヌルポインタ例外を示しています

4

3 に答える 3

4

以下のコードを使用して解決策を得ました:

onActivityResult の内部:

Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
Ringtone r=RingtoneManager.getRingtone(this, uri); 
String ringToneName=r.getTitle(this));
Toast.makeText(getApplicationContext(), "Ringtone Name : +ringtonename+"",Toast.LENGTH_SHORT).show();

ただし、エミュレータには着信音がないため、エミュレータで例外が表示されるため、モバイルでこれを実行します

于 2012-08-29T08:40:17.107 に答える
2

これらの線に沿って何かを試してください。タイトルはあなたにメディアのタイトルを与えるべきです

Uri mUri = Uri.parse("content://media/internal/audio/media/53"); 

Cursor mCursor = query(mUri, null, null,null, null);
mCursor.movetoFirst();
//use below ringtoneName to get the title of the ringtone
String ringtoneName= mCursor.getString(mCursor.getColumnIndex("title"));
于 2012-08-24T11:10:20.473 に答える