Как установить собственный сигнал будильника в Android

Мне нужно установить собственный сигнал будильника в моем приложении. Может ли кто-нибудь просто сказать мне, как установить пользовательскую мелодию звонка или MP3 в качестве будильника? Любая помощь будет оценена по достоинству.


person Munazza    schedule 16.06.2012    source источник
comment
stackoverflow.com/questions/6464080/ Вот еще одно решение для вас. Лучший, Шахзад   -  person Shahzad Majeed    schedule 17.06.2012
comment
​​stackoverflow.com/questions/8314727 / Вот еще один ответ. Шахзад Маджид.   -  person Shahzad Majeed    schedule 17.06.2012
comment
спасибо Шахзад :) ваши ссылки полезны :)   -  person Munazza    schedule 22.06.2012


Ответы (4)


Вот также решение этой проблемы

установка аудиофайла в качестве рингтона

Лучший, Шахзад Маджид

person Shahzad Majeed    schedule 17.06.2012

Вы можете использовать аудиоплеер для воспроизведения mp3. Но вот лучшее приложение для будильника, которое соответствует вашим требованиям.

http://code.google.com/p/kraigsandroid/source/browse/#git%2Fandroid%2Falarmclock%2Fsrc%2Fcom%2Fangrydoughnuts%2Fandroid%2Falarmclock

person Shahzad Majeed    schedule 17.06.2012

в документации по Android см. страницу Уведомления в строке состояния. В частности, см. раздел Добавление звука.

person FoamyGuy    schedule 16.06.2012

Попробуй это

добавить любой файл .mp3 в необработанную папку имя места этого файла

 public void setAlarm() {
        File file = new File(Environment.getExternalStorageDirectory(),
                "/Your Directory Name");
        if (!file.exists()) {
            file.mkdirs();
        }

        String path = Environment.getExternalStorageDirectory()
                .getAbsolutePath() + "/Your Directory Name";

        File f = new File(path + "/", filename + ".mp3");

        Uri mUri = Uri.parse("android.resource://" + getContext().getPackageName() + "/raw/" + filename);
        ContentResolver mCr = getContext().getContentResolver();
        AssetFileDescriptor soundFile;
        try {
            soundFile = mCr.openAssetFileDescriptor(mUri, "r");
        } catch (FileNotFoundException e) {
            soundFile = null;
        }

        try {
            byte[] readData = new byte[1024];
            FileInputStream fis = soundFile.createInputStream();
            FileOutputStream fos = new FileOutputStream(f);
            int i = fis.read(readData);

            while (i != -1) {
                fos.write(readData, 0, i);
                i = fis.read(readData);
            }

            fos.close();
        } catch (IOException io) {
        }

        ContentValues values = new ContentValues();
        values.put(MediaStore.MediaColumns.DATA, f.getAbsolutePath());
        values.put(MediaStore.MediaColumns.TITLE, filename);
        values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
        values.put(MediaStore.MediaColumns.SIZE, f.length());
        values.put(MediaStore.Audio.Media.ARTIST, R.string.app_name);
        values.put(MediaStore.Audio.Media.IS_ALARM, true);






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

        try {
            RingtoneManager.setActualDefaultRingtoneUri(getContext(),
                    RingtoneManager.TYPE_ALARM, newUri);
            Settings.System.putString(mCr, Settings.System.ALARM_ALERT,
                    newUri.toString());
            Toast.makeText(getContext(), "Done", Toast.LENGTH_SHORT).show();

        } catch (Throwable t) {

        }
    }
person Rahul    schedule 02.02.2018