【发布时间】:2015-11-08 20:18:59
【问题描述】:
我用这段代码启动一个应用程序:
Intent hasApp = getPackageManager().getLaunchIntentForPackage("appName.app");
Intent intent = new Intent(Intent.ACTION_VIEW);
dataId = response.getdataId();
intent.setData(Uri.parse("appName:?pid=" + dataId + "&action=returntoapp"));
startActivityForResult(intent, Globals.DATA_REQUEST_CODE);
然后我用这段代码关闭打开的应用程序:
setResult(Activity.RESULT_OK);
finish();
但是当第一个应用调用 onActivityResult() 方法时,我得到了相同的 requestCode,但意图为 null,resultCode 为 ACTIVITY_CANCELED。
我不明白为什么。
【问题讨论】:
-
onActivityResult 在哪里?
-
在我启动其他应用程序的同一个活动中
-
您需要通过一些积极的用户操作(例如,点击
ListView行)调用setResult(),而不是像onPause()这样的地方。 -
CommonsWare 我调用了 setResult() 你可以在我的问题中看到这个,我没有在 onPause() 中关闭应用程序,我在一些计算和网络通信后关闭它。
-
setResult(Activity.RESULT_OK),意图在哪里?