2013-06-20 110 views
3

我必須在android中以編程方式設置鈴聲。 如何在Android中設置鈴聲?我在網上搜索,但我無法找到一個好的示例 任何人都可以幫助我?如何以編程方式設置鈴聲android

+0

[cckck這個答案](http://stackoverflow.com/a/3119854/2219600) – amalBit

回答

4
ContentValues values = new ContentValues(); 
    values.put(MediaStore.MediaColumns.DATA, ringFile.getAbsolutePath()); 
    values.put(MediaStore.MediaColumns.TITLE, "ring"); 
    values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3"); 
    values.put(MediaStore.MediaColumns.SIZE, rindFile.length()); 
    values.put(MediaStore.Audio.Media.ARTIST, R.string.app_name); 
    values.put(MediaStore.Audio.Media.IS_RINGTONE, true); 
    values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true); 
    values.put(MediaStore.Audio.Media.IS_ALARM, true); 
    values.put(MediaStore.Audio.Media.IS_MUSIC, false); 

    Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringFile.getAbsolutePath()); 
    Uri newUri = mCr.insert(uri, values); 


    try { 
     RingtoneManager.setActualDefaultRingtoneUri(getContext(), RingtoneManager.TYPE_RINGTONE, newUri); 
    } catch (Throwable t) { 

    } 

其中ringFile是您的鈴聲文件路徑。

+0

這段代碼是在onActivityResult方法中加入的嗎? – noobProgrammer

+1

你在哪裏宣佈mCr? –

+0

Uri newUri = getContentResolver()。insert(uri,values); –