2014-02-15 128 views
0
case 64: 
        String path=android.os.Environment.getExternalStorageDirectory().getPath() + "/data/babysounds/res/raw/laugh.mp3"; 
        File ringtoneFile = new File(path); 

        ContentValues values = new ContentValues(); 
        values.put(MediaStore.MediaColumns.DATA, ringtoneFile .getAbsolutePath()); 
        values.put(MediaStore.MediaColumns.TITLE, "laugh"); 
        values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3"); 
        values.put(MediaStore.Audio.Media.ARTIST, "The"); 
        values.put(MediaStore.MediaColumns.SIZE, 215454); 
        values.put(MediaStore.Audio.Media.IS_RINGTONE, true); 
        values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false); 
        values.put(MediaStore.Audio.Media.IS_ALARM, false); 
        values.put(MediaStore.Audio.Media.IS_MUSIC, false); 

        Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringtoneFile 
          .getAbsolutePath()); 
        getContentResolver().delete(
          uri, 
          MediaStore.MediaColumns.DATA + "=\"" 
            + ringtoneFile .getAbsolutePath() + "\"", null); 
        Uri newUri = getContentResolver().insert(uri, values); 

        RingtoneManager.setActualDefaultRingtoneUri(
          Context.this, RingtoneManager.TYPE_RINGTONE, 
          newUri); 

        break; 

我得到了這段代碼設置爲鈴聲,但它不工作。會發生什麼情況:當我點擊listView按鈕時,文件已創建,但未設置爲鈴聲。 我想要什麼:我想要直接路徑到我的原始文件夾並選擇文件。我怎樣才能做到這一點? 是的,我添加權限原始文件夾的直接路徑設置爲鈴聲Android

回答

1

URI或在原始文件夾LINK爲任何資源:

字符串URI = 「android.resource://」 + getPackageName()+「/"+R.raw 。文件名;

+0

我寫道,它的工作,但仍然不會改變鈴聲。 – user3094736