android - 通过 Intent 传递额外内容,同时将 Intent 与操作 ACTION_GET_CONTENT 一起使用

标签 android

我有一个代码可以从存储中获取音频并将 uri 保存到所选的音频。
我还想传递一个附加参数 TimeZoneOfDay带着 Intent 。

这是执行此操作的代码

  Intent intent_upload = new Intent();
  intent_upload.setType("audio/*");
  intent_upload.putExtra(TimeZoneOfDay,2);
  // Bundle b = new Bundle();
  //b.putInt(TimeZoneOfDay,2);
  intent_upload.setAction(Intent.ACTION_GET_CONTENT);
  startActivityForResult(intent_upload,1);




 @Override
    protected void onActivityResult(int requestCode,int resultCode,Intent data){

        Log.e(Tag, "Onactivity result called");
        if(requestCode == 1){
            Toast.makeText(this, "file choosen",Toast.LENGTH_SHORT).show();
            if(resultCode == RESULT_OK){
                Uri uri = data.getData();
                Bundle b = data.getExtras();

                Log.e(Tag, "dcs "+data.hasExtra(TimeZoneOfDay)+ String.valueOf(b!=null));

我还想在我的 Intent TimeZoneofDay 中添加一个额外的内容。 然而,data.hasExtra(Timezone)显示falsedata.getExtras()null .

如何正确传递参数TimeZoneOfDay

最佳答案

How to properly pass the parameter TimeZoneOfDay ?

你不知道。您没有编写响应 ACTION_GET_CONTENT 的应用。您不能强制该应用将值放入结果 Intent 的额外值中。

相反,将 2 保留在字段中,并在 onActivityResult() 中使用该字段。此外,由于您在后台时进程可能会终止,因此请在保存的实例状态 Bundle 中保留该 2

例如,在this sample app中,我将 File 对象作为字段,然后将其用作 Uri 以便与 ACTION_IMAGE_CAPTURE 一起使用。这样,在 onActivityResult() 中,我就知道图像应该驻留在哪里。

关于android - 通过 Intent 传递额外内容,同时将 Intent 与操作 ACTION_GET_CONTENT 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50011441/

相关文章:

java - RecyclerView - 根据标志实现黑白项目图像

android - "Optimizing"在Android中访问游标 : Position vs Column names

android - 如何使表格布局中的列均匀分布,最大限度地利用可用空间

java - 在应用程序中的特定页面上绘制背景颜色

java - 将整数变量转换为日期对象时出错,返回值始终为 31-DEC - 1?

android - 找不到android :android:jar:6. 0_r1 失败

android - 为 Android 编写 C++ 代码

android - Cocos2dx Android I'm broken phenomenon 启动后是一个图像 Sprite onResume Activity

android - 无法处理Android Studio中的依赖项

android - 在 Android 中的 GreenADO 中生成重复类