小编Him*_*mca的帖子

未经WRITE_SETTINGS明确许可,设置自定义铃声

我想简单地设置铃声.我不想给WRITE_SETTINGS许可,我可以找到大部分答案给予WRITE_SETTINGS的许可,但有一个我正在使用的应用程序没有任何WRITE_SETTINGS权限来设置铃声

https://play.google.com/store/apps/details?id=com.atomic.apps.ringtone.cutter

当你安装这个应用程序时,它永远不会明确地询问权限android.permission.WRITE_SETTINGS(也在marshmallow)

这是从存储中选择铃声的方法

public void pickRingtone()
{
    Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Ringtone");
    Uri urie = RingtoneManager.getActualDefaultRingtoneUri(getApplicationContext(), RingtoneManager.TYPE_RINGTONE);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, urie);
    startActivityForResult(intent, REQUEST_CODE);
}
Run Code Online (Sandbox Code Playgroud)

//这里我要设置铃声

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) 
        {
if (requestCode == REQUEST_CODE) {
        if (resultCode == RESULT_OK) 
        {
            Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
            if (uri != null)
            {
                String ringTonePath = uri.toString();
                RingtoneManager.setActualDefaultRingtoneUri(context, RingtoneManager.TYPE_RINGTONE, uri);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=5, result=-1, data=Intent { dat=content://com.mi.android.globalFileexplorer.myprovider/external_files/Download/Amazing …
Run Code Online (Sandbox Code Playgroud)

permissions android ringtone ringtonemanager

5
推荐指数
1
解决办法
1191
查看次数

标签 统计

android ×1

permissions ×1

ringtone ×1

ringtonemanager ×1