1

我以编程方式从另一个应用程序调用一个应用程序,如下所示:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(new ComponentName(packageString,classApp));
mActivity.startActivity(intent, 2);

我想等到 Intent 应用程序执行完成并关闭。

我尝试使用 startActivityForResult(intent,2)。但是这个 dosnt 似乎正在工作,因为它没有在实际活动类中调用 onActivityResult。我在非活动类中调用 Intent。

4

2 回答 2

1

我想等到 Intent 应用程序执行完成并关闭。

这是不可能的。您无法知道“应用程序执行何时完成并关闭”,特别是因为您正在新任务中启动该活动。例如:

  • 你开始另一个活动。
  • 用户按下最近并通过概览屏幕返回到您的应用程序。
  • 怎么办?用户不需要做任何事情来“完成并关闭”其他应用程序。

欢迎您使用生命周期方法,例如onStart(),来确定您正在重新获得控制权,但这并不意味着“应用程序执行已完成并关闭”。

于 2016-06-30T14:06:59.147 回答
0
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(new ComponentName(packageString,classApp));
setResult(2,intent);

onActivityResult check this.

if(requestCode == 2){

Log.v(TAG ,"Result is Received");
}


please check log in logcat.
于 2016-06-30T13:32:50.783 回答