2

ユーザーが設定で着信音を選択したいときに、アプリをオプションの中に入れたいです。

私はそれに関する情報を見つけることができません。マニフェストにインテント フィルターを配置できると考えていましたが、それに関する適切なドキュメントが見つかりません。

4

3 に答える 3

0

このコードを試してください -

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);
于 2013-09-07T05:26:37.203 に答える
0

使用してみてください:

<intent-filter>
    <action android:name="android.intent.action.RINGTONE_PICKER"/>
    <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>

一部の HTC デバイスHTC_RINGTONE_PICKERでは、上記に加えて必要なものもあります。

于 2013-09-07T05:35:18.477 に答える
0

これを使用して、デバイスから利用可能なトーンを収集します

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);

このヘルプはあなたに完全に役立ちます

于 2013-09-07T05:39:04.970 に答える