как сменить будильник, уведомление и мелодию звонка - PullRequest
0 голосов
/ 03 мая 2020

Я действительно хочу создать приложение для обоев, в котором я предоставил обои и рингтоны для него ... Я создал в этом приложении действие, в котором я показал все рингтоны, и есть кнопка загрузки, При нажатии на эту кнопку аудиофайл загружается в папку загрузки, после чего появится всплывающее окно, в котором пользователю будет предложено указать, куда вы хотите добавить аудиофайл в качестве мелодии звонка, сигнала будильника или уведомления. кнопки, то звук должен заменить системный аудиофайл на загруженный аудиофайл ... Я старался изо всех сил, но это не сработало. по-прежнему звучит сигнал тревоги по умолчанию ... поэтому, пожалуйста, помогите мне, чтобы я мог заставить пользователя изменить тональный сигнал из системы как загруженный файл ...

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

 setasalarm.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Toast.makeText(mcontext,"check",Toast.LENGTH_LONG).show();
            Uri uri = Uri.parse(Environment.getExternalStorageDirectory()+"/Download/"+filenamedata);
            File file =new File(String.valueOf(uri));
            if(file.exists()){
                try {
                    if (checkSystemWritePermission()) {
                        RingtoneManager.setActualDefaultRingtoneUri(mcontext, RingtoneManager.TYPE_ALARM, uri);
                        Toast.makeText(mcontext, "Set as alarm successfully ", Toast.LENGTH_SHORT).show();
                    }else {
                        Toast.makeText(mcontext, "Allow modify system settings ==> ON ", Toast.LENGTH_LONG).show();
                    }
                } catch (Exception e) {
                    Log.i("alarm",e.toString());
                    Toast.makeText(mcontext, "unable to set as alarm ", Toast.LENGTH_SHORT).show();
                }

                alertDialog.dismiss();
            }else{
                Toast.makeText(mcontext,"not availabe",Toast.LENGTH_LONG).show();
                alertDialog.dismiss();
            }
        }
    });
    setasringtone.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Toast.makeText(mcontext,"check",Toast.LENGTH_LONG).show();
            Uri uri = Uri.parse(Environment.getExternalStorageDirectory()+"/Download/"+filenamedata);
            File file =new File(String.valueOf(uri));
            if(file.exists()){
                try {
                    if (checkSystemWritePermission()) {
                        RingtoneManager.setActualDefaultRingtoneUri(mcontext, RingtoneManager.TYPE_RINGTONE, uri);
                        Toast.makeText(mcontext, "Set as Ringtone successfully ", Toast.LENGTH_SHORT).show();
                    }else {
                        Toast.makeText(mcontext, "Allow modify system settings ==> ON ", Toast.LENGTH_LONG).show();
                    }
                } catch (Exception e) {
                    Log.i("alarm",e.toString());
                    Toast.makeText(mcontext, "unable to set as ringtone ", Toast.LENGTH_SHORT).show();
                }

                alertDialog.dismiss();
            }else{
                Toast.makeText(mcontext,"not availabe",Toast.LENGTH_LONG).show();
                alertDialog.dismiss();
            }
        }
    });
    setasnotification.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Toast.makeText(mcontext,"check",Toast.LENGTH_LONG).show();
            Uri uri = Uri.parse(Environment.getExternalStorageDirectory()+"/Download/"+filenamedata);
            File file =new File(String.valueOf(uri));
            if(file.exists()){
                try {
                    if (checkSystemWritePermission()) {
                        RingtoneManager.setActualDefaultRingtoneUri(mcontext, RingtoneManager.TYPE_NOTIFICATION, uri);
                        Toast.makeText(mcontext, "Set as Notification successfully ", Toast.LENGTH_SHORT).show();
                    }else {
                        Toast.makeText(mcontext, "Allow modify system settings ==> ON ", Toast.LENGTH_LONG).show();
                    }
                } catch (Exception e) {
                    Log.i("alarm",e.toString());
                    Toast.makeText(mcontext, "unable to set as notification ", Toast.LENGTH_SHORT).show();
                }

                alertDialog.dismiss();
            }else{
                Toast.makeText(mcontext,"not availabe",Toast.LENGTH_LONG).show();
                alertDialog.dismiss();
            }
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...