android - 在使用带有动作 ACTION_GET_CONTENT 的意图时传递带有意图的附加内容
问题描述
我有一个代码可以从存储中获取音频并将 uri 保存到所选音频。
我还想传递一个TimeZoneOfDay
带有意图的附加参数。
这是执行此操作的代码
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));
我还想在我的意图 TimeZoneofDay 中添加一个额外的内容。但是, data.hasExtra(Timezone)
正在显示false
并且data.getExtras()
是null
。
如何正确传递参数TimeZoneOfDay
?
解决方案
如何正确传递参数 TimeZoneOfDay ?
你没有。您没有编写响应ACTION_GET_CONTENT
. 您不能强制该应用程序在额外的结果中添加一个值Intent
。
相反,保留2
一个字段,并在您的onActivityResult()
. 此外,由于您的进程可能会在您处于后台时终止,因此请2
在保存的实例状态中保持该进程Bundle
。
例如,在这个示例应用程序中,我将一个File
对象作为一个字段,然后将其用于Uri
for 与ACTION_IMAGE_CAPTURE
. 这样,在 中onActivityResult()
,我知道图像应该驻留的位置。
推荐阅读
- python - ModuleNotFoundError while module was installed using pip
- php - PHP injects bogus unreadable characters into array after it crosses a certain size
- mysql - 如何将数据添加到队列日志中?
- php - 在 Laravel 查询中使用模型函数
- ubuntu - 我在执行 kubectl exec -it 时收到错误 - 我无法进入我想访问的 pod 的外壳
- mysql - 如何将外部模型添加到 ObjectionJS?
- python - 尝试使用 pip 安装桌面库时如何修复“错误:命令错误,退出状态 1:”?
- c - 为什么斐波那契数列的索引需要小于或等于 1?
- node.js - 如果用户有权限如何发送消息
- php - Laravel Model 有很多不同类型的模型(模型的集合)