Я действительно хочу создать приложение для обоев, в котором я предоставил обои и рингтоны для него ... Я создал в этом приложении действие, в котором я показал все рингтоны, и есть кнопка загрузки, При нажатии на эту кнопку аудиофайл загружается в папку загрузки, после чего появится всплывающее окно, в котором пользователю будет предложено указать, куда вы хотите добавить аудиофайл в качестве мелодии звонка, сигнала будильника или уведомления. кнопки, то звук должен заменить системный аудиофайл на загруженный аудиофайл ... Я старался изо всех сил, но это не сработало. по-прежнему звучит сигнал тревоги по умолчанию ... поэтому, пожалуйста, помогите мне, чтобы я мог заставить пользователя изменить тональный сигнал из системы как загруженный файл ...
Ниже приведен мой код, который я использовал в своем приложении установить файл в качестве сигнала будильника, мелодии звонка или тона уведомления, который выполняется после нажатия кнопок.
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();
}
}
});