允许用户从android应用程序中选择系统报警音
下面是我的onClick()方法 这是我的onActivityResult()方法- 我面临的问题是uri变量总是空的,所以控件不在if语句中。允许用户从android应用程序中选择系统报警音,android,alarm,audio,Android,Alarm,Audio,下面是我的onClick()方法 这是我的onActivityResult()方法- 我面临的问题是uri变量总是空的,所以控件不在if语句中。 我到处都在寻找同样的方法。请帮助我,因为我是android应用程序开发新手。不要使用启动铃声选择器的意图来检索输出Uri,而是使用从中传入的。换句话说,将意图更改为数据: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
我到处都在寻找同样的方法。请帮助我,因为我是android应用程序开发新手。不要使用启动铃声选择器的
意图来检索输出Uri
,而是使用从中传入的。换句话说,将意图
更改为数据
:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == -1 && requestCode == 5) {
final Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
if (uri != null) {
RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM, uri);
}
}
}
另外,您不需要传入(Uri)null
,这实际上没有任何作用。额外的用于在铃声选择器打开时选择特定铃声。如果要检查默认报警声,请传入:
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, System.DEFAULT_ALARM_ALERT_URI);
或者,如果要检查默认报警声音的实际名称,请传入:
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,
RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM));
当您选择默认报警声音时,确保播放默认报警声音。您应添加额外的:
不要使用用于启动铃声选择器以检索输出的Intent
,而是使用从中传入的。换句话说,将意图
更改为数据
:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == -1 && requestCode == 5) {
final Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
if (uri != null) {
RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM, uri);
}
}
}
另外,您不需要传入(Uri)null
,这实际上没有任何作用。额外的用于在铃声选择器打开时选择特定铃声。如果要检查默认报警声,请传入:
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, System.DEFAULT_ALARM_ALERT_URI);
或者,如果要检查默认报警声音的实际名称,请传入:
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,
RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM));
当您选择默认报警声音时,确保播放默认报警声音。您应添加额外的:
但是setActualDefaultRingtoneUri没有更改系统报警音,但是setActualDefaultRingtoneUri没有更改系统报警音