如何在android中完成意图执行

时间:2016-06-30 13:23:16

标签: android android-intent onactivityresult start-activity startactivityforresult

我正在以编程方式从其他应用程序调用应用程序,如下所示:

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。

2 个答案:

答案 0 :(得分: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.

答案 1 :(得分:0)

  

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

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

  • 您开始其他活动。
  • 用户按下RECENTS并通过概览屏幕返回您的应用程序。
  • 现在怎样?用户无需做任何事情来“完成并关闭”其他应用程序。

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