2

通知の着信音を変更するためのアクセス権をユーザーに付与したいと考えています。設定ではなく、アプリを介して行う必要があります。次のコードを試しました。着信音ピッカーを表示していますが、「選択したものを設定していません」。かなり前から投稿されているのは知っています。私は何を間違っていますか?

private void setRington() 
{
    SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
    Uri soundFile = Uri.parse(settings.getString("timerSound", RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION).toString()));

    Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Alert Tone");
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, soundFile);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);     
    startActivityForResult(intent, 5);
}

@Override    
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{       
    if (resultCode == Activity.RESULT_OK && requestCode == 5) 
    {            
        Uri uri = intent.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI); 
        Log.i("Speak", "I picked this ringtone " + uri);
        if (uri != null) 
        {    
            RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_RINGTONE, uri);
        }
    } 
} 
4

0 に答える 0