如何更改手机铃声,通知和警报声音颤动?

时间:2020-06-16 08:07:18

标签: android flutter dart

我有一个音频文件,我只想将该音频设置为手机铃声,通知和警报声音?是否有任何颤振包或代码将音频设置为移动铃声,通知和警报声音?

1 个答案:

答案 0 :(得分:0)

要进行设置,您必须调用本机代码,因此,您可以观看我所引用的视频。 Video (在AndroidManifest.xml中添加这些权限

<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
您还必须获得用户的修改系统设置权限才能授予android.permission.write_settings。

fun gettingperm(){

    if(android.provider.Settings.System.canWrite(context)){
        println("its true")
        return }
        
    else{ 
        openAndroidPermissionsMenu();
        return }

}

fun openAndroidPermissionsMenu(){

    var intent:Intent = Intent(android.provider.Settings.ACTION_MANAGE_WRITE_SETTINGS);
    intent.setData(Uri.parse("package:" + context.getPackageName()));
    context.startActivity(intent);

}

毕竟,您可以使用下面的简单代码来设置铃声。

var storage_path = File(Environment.getExternalStorageDirectory(),"path/to/the/audio")
var the_uri = Uri.fromFile(storage_path)


RingtoneManager.setActualDefaultRingtoneUri(context, RingtoneManager.TYPE_RINGTONE, 
the_uri);
Toast.makeText(context, " Ringtone has been changed", Toast.LENGTH_SHORT).show();

P.S要将其设置为通知或警报或全部,只需将TYPE_RINGTONE更改为所需的值即可。 这是将音频设置为通知声音的示例。

RingtoneManager.setActualDefaultRingtoneUri(context, RingtoneManager.TYPE_NOTIFICATION,the_uri);