Установить в качестве мелодии звонка для Android

Сначала я хочу сказать, что мне очень жаль, что я знаю, что уже есть вопросы по этому поводу, но я новичок в программировании, и Android - мой первый язык. Как я могу настроить приложение на установку звука из моего приложения в качестве мелодии звонка? Я получил это

String filepath ="/sdcard/yeahitsworking";
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);

Как я могу установить это так, когда я нажимаю кнопку Например. bt1, чтобы установить это как мелодию звонка? Это что-то вроде этого

ImageButton bt1 = (ImageButton) findViewById(R.id.bt1);
        bt1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

Это не двойное сообщение, которое я уже искал, и ни один из них не отвечает на мой вопрос.


person user3231871    schedule 13.02.2014    source источник
comment
Значит хотите установить рингтон нажатием на кнопку ??   -  person Piyush    schedule 13.02.2014
comment
Ага. Я не могу понять, как это сделать   -  person user3231871    schedule 13.02.2014


Ответы (2)


Вы можете установить свой рингтон при нажатии кнопки.

   urbutton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub



            String filepath ="/sdcard/yeahitsworking";
            File ringtoneFile = new File(filepath);

            ContentValues values = new ContentValues();
            values.put(MediaStore.MediaColumns.DATA, ringtoneFile .getAbsolutePath());
            values.put(MediaStore.MediaColumns.TITLE, "My Song title");
            values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
            values.put(MediaStore.Audio.Media.ARTIST, "Madonna");
            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(
                    YourActivityName.this, RingtoneManager.TYPE_RINGTONE,
                    newUri);

        }
    });
person Piyush    schedule 13.02.2014
comment
гм, я получаю эту ошибку: k не может быть разрешено, а RingtonesPlaying не может быть разрешено в тип. - person user3231871; 13.02.2014
comment
@ user3231871, теперь ты можешь отпустить - person Piyush; 13.02.2014
comment
Что мне делать с воспроизведением рингтонов, которые не могут быть привязаны к типу? - person user3231871; 13.02.2014
comment
chek now..u должен вставить туда свое название активности - person Piyush; 13.02.2014

person    schedule
comment
Но как я могу установить это так, чтобы при нажатии на кнопку он устанавливал мелодию звонка? - person user3231871; 13.02.2014