![](/img/trans.png)
[英]Intent data is null in onActivityResult when I pick an Image from gallery
[英]The argument “Intent data” from onActivityResult is null
我有一个活动A和一个片段B。
在AI中有这种方法:
private void installApp(String path){
Intent i = new Intent(Intent.ACTION_VIEW);
fileUri = Uri.fromFile(new File(path));
i.setDataAndType(fileUri, "application/vnd.android.package-archive");
i.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
B.startActivityForResult(i, 101); //B has been initialized elsewhere
}
后来在B中将此覆盖称为:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data){
try{
super.onActivityResult(requestCode, resultCode, data);
//Can't d stuff with data because it's Null.
}
}catch (Exception e){
//Handles the exception
}
}
我已经搜索了一段时间,但仍然无法弄清楚为什么数据为空。 我错过了什么?!
谢谢。
在片段B中,您是否要调用startActivityForResult(new Intent(getActivity(), ActivityA.class), REQUEST_CODE)
? (REQUEST_CODE为整数)
如果是这样,那么:
在活动A中,您不会为结果启动活动。 您需要调用: finish();
在活动A中而不是在startActivityForResult();
更新您的代码,使其看起来像:
private void installApp(String path){
Intent i = new Intent(Intent.ACTION_VIEW);
fileUri = Uri.fromFile(new File(path));
i.setDataAndType(fileUri, "application/vnd.android.package-archive");
i.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
setResult(RESULT_OK, i);
finish();
}
ACTION_VIEW
的文档具有“输出:无”,这意味着ACTION_VIEW
实现不提供结果,因此将ACTION_VIEW
与startActivityForResult()
是没有意义的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.