[英]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.