【发布时间】:2017-04-10 03:05:09
【问题描述】:
我正在尝试从铃声选择器中读取值,但在 onactivityresult 中我得到了 NULL 意图。
这是我用来启动铃声选择器的代码
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select ringtone for notifications:");
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,RingtoneManager.TYPE_NOTIFICATION);
startActivityForResult(intent,999);
这里我在 onactivityresult 中得到 NULL 作为响应,响应代码 requestCode 为 100。resultcode 0
requestCode 应该是 999,但我得到 100。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//Data i get as NULL, it should be valid intent
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 100:
Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
}
}
【问题讨论】:
-
您是否为清单添加了所需的权限?
-
什么是权限?,我可以启动铃声选择器,但我无法读取值
-
你必须把这三个权限放到android.manifest文件中。
-
是的,我已经添加了这些设置。在 onactivityresult 我没有得到正确的结果代码,即 999 和意图,即数据为 NULL