【问题标题】:Ringtone picker returns null intent always铃声选择器总是返回空意图
【发布时间】: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

标签: android android-intent


【解决方案1】:

我知道这真的很晚了,但这就是需要做的事情

Uri pickedUri= (Uri) data.getExtras().get(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    相关资源
    最近更新 更多