2014-02-15 4 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 버튼을 클릭하면 파일이 생성되지만 벨소리로 설정되지 않습니다. 내가 원하는 것 : 내 원시 폴더에 직접 경로를 가져 와서 파일을 선택하고 싶습니다. 어떻게해야합니까? 그리고 그래 내가 추가 권한Raw 폴더로의 직접 경로를 통해 벨소리로 설정합니다. Android

답변

1

URI 또는 ​​원시 폴더에있는 모든 리소스에 대한 LINK :

문자열 URI = "android.resource : //"+ getPackageName() + "/"+R.raw .파일 이름;

+0

나는 그것을 썼다, 그것은 작동하지만 여전히 벨소리를 변경하지 않습니다. – user3094736