ユーザーが設定で着信音を選択したいときに、アプリをオプションの中に入れたいです。
私はそれに関する情報を見つけることができません。マニフェストにインテント フィルターを配置できると考えていましたが、それに関する適切なドキュメントが見つかりません。
ユーザーが設定で着信音を選択したいときに、アプリをオプションの中に入れたいです。
私はそれに関する情報を見つけることができません。マニフェストにインテント フィルターを配置できると考えていましたが、それに関する適切なドキュメントが見つかりません。
このコードを試してください -
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
mp= MediaPlayer.create(getBaseContext(), alert);
mp.setVolume(100, 100);
mp.start();
mp.setOnCompletionListener(new OnCompletionListener(){
@Override
public void onCompletion(MediaPlayer mp){
mp.release();
}
});
vibrator = (Vibrator) getSystemService (VIBRATOR_SERVICE);
vibrator.vibrate(400);
使用してみてください:
<intent-filter>
<action android:name="android.intent.action.RINGTONE_PICKER"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
一部の HTC デバイスHTC_RINGTONE_PICKER
では、上記に加えて必要なものもあります。
これを使用して、デバイスから利用可能なトーンを収集します
private String[] getMusic() {
@SuppressWarnings("deprecation")
final Cursor mCursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
new String[] { MediaStore.Audio.Media.DISPLAY_NAME }, null,
null, "LOWER(" + MediaStore.Audio.Media.TITLE + ") ASC");
int count = mCursor.getCount();
String[] songs = new String[count];
int i = 0;
if (mCursor.moveToFirst()) {
do {
songs[i] = mCursor.getString(0);
i++;
} while (mCursor.moveToNext());
}
mCursor.close();
return songs;
}
リストビューで表示し、下のコメントで設定
ContentValues content = new ContentValues();
content.put(MediaStore.MediaColumns.DATA,ringtoneFile.getAbsolutePath());
content.put(MediaStore.MediaColumns.TITLE, "ownringtone");
content.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
content.put(MediaStore.Audio.Media.ARTIST, "name");
content.put(MediaStore.Audio.Media.IS_RINGTONE, true);
content.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
content.put(MediaStore.Audio.Media.IS_ALARM, false);
content.put(MediaStore.Audio.Media.IS_MUSIC, false);
// Insert it into the database
Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringtoneFile.getAbsolutePath());
pathString= ringtoneFile.getAbsolutePath();
Uri newUri = getContentResolver().insert(uri, content);
RingtoneManager.setActualDefaultRingtoneUri(getBaseContext(), RingtoneManager.TYPE_RINGTONE,newUri);
このヘルプはあなたに完全に役立ちます