Как установить мелодию звонка через приложение для Android? - PullRequest
0 голосов
/ 11 апреля 2011

Я пытаюсь установить мелодию звонка через приложение для Android.Я пытался с этим кодом

  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    String filepath ="/sdcard/sound.mp3";
    File ringtoneFile = new File(filepath);

    ContentValues content = new ContentValues();
    content.put(MediaStore.MediaColumns.DATA,ringtoneFile.getAbsolutePath());
    System.out.println(ringtoneFile.getAbsolutePath()+"+++++++++++++++++++++++++");
    content.put(MediaStore.MediaColumns.TITLE, "chinnu");
    content.put(MediaStore.MediaColumns.SIZE, 215454);
    content.put(MediaStore.MediaColumns.MIME_TYPE, "sound.mp3");
    content.put(MediaStore.Audio.Media.ARTIST, "Madonna");
    content.put(MediaStore.Audio.Media.DURATION, 230);
    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
    String TAG="";
    Log.i(TAG, "the absolute path of the file is :"+
    ringtoneFile.getAbsolutePath());
    Uri uri = MediaStore.Audio.Media.getContentUriForPath(
    ringtoneFile.getAbsolutePath());
    Uri newUri = Context.getContentResolver().insert(uri, content);
    ringtoneUri = newUri; 
   Log.i(TAG,"the ringtone uri is :"+ringtoneUri);
   RingtoneManager.setActualDefaultRingtoneUri(context,
   RingtoneManager.TYPE_RINGTONE,newUri);


}
}

Но я получаю сообщение об ошибке: context не может быть разрешен для типа.Что это значит?Я новичок в разработке Android.Я также установил write_ external_storage permission.

Что еще нужно сделать, чтобы успешно запустить это приложение?
Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 05 июля 2011
    String filepath ="/sdcard/Fast_N_Furious_2009.mp3";
    File ringtoneFile = new File(filepath);

    ContentValues content = new ContentValues();
    content.put(MediaStore.MediaColumns.DATA,ringtoneFile.getAbsolutePath());
    content.put(MediaStore.MediaColumns.TITLE, "chinnu");
    content.put(MediaStore.MediaColumns.SIZE, 215454);
    content.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
    content.put(MediaStore.Audio.Media.ARTIST, "Madonna");
    content.put(MediaStore.Audio.Media.DURATION, 230);
    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
    Log.i(TAG, "the absolute path of the file is :"+
    ringtoneFile.getAbsolutePath());
    Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringtoneFile.getAbsolutePath());
    //Uri newUri = context.getContentResolver().insert(uri, content);
    Uri newUri = getContentResolver().insert(uri, content); 
    String ringtoneUri = newUri.toString();

    Log.i(TAG,"the ringtone uri is :"+ringtoneUri);
    RingtoneManager.setActualDefaultRingtoneUri(getBaseContext(),RingtoneManager.TYPE_RINGTONE,newUri);
0 голосов
/ 11 апреля 2011

Привет, Сарат, если ты попробуешь в своей деятельности удалить контекст из своего кода.

заменить строку

Uri newUri = getContentResolver (). Insert (uri, content); ringtoneUri = newUri;

...