我目前正在尝试从RingtoneManager.ActionRingtonePicker
. 我输入了所有额外的设置并设置了适当的标志。但是我只能打电话StartActivity(intent)
。无论如何我可以从铃声选择器中获得选择并使用intent.getParceableExtra(RingtoneManager.ExtraRingtonePickedUri);
. 我的代码在下面,如果我可以用context.StartActivity(intent)
解决方法替换它,那就太好了。
public async Task<string> pickAndReceiveRingtone(string currentUri)
{
Intent intent = new Intent(RingtoneManager.ActionRingtonePicker);
intent.PutExtra(RingtoneManager.ExtraRingtoneShowSilent, false);
intent.PutExtra(RingtoneManager.ExtraRingtoneTitle, "Select a ringtone");
intent.PutExtra(RingtoneManager.ExtraRingtoneShowDefault, false);
intent.PutExtra(RingtoneManager.ExtraRingtoneType, (int)RingtoneType.Alarm);
intent.PutExtra(RingtoneManager.ExtraRingtoneExistingUri, RingtoneManager.GetDefaultUri(RingtoneType.Alarm));
intent.SetFlags(ActivityFlags.NewTask);
//Replace below
/*await*/ context.StartActivity(intent);
//Grab selected uri here
currentUri = ...
return currentUri;
}