【问题标题】:Launch one application from another application and state of application launched should be maintained in android从另一个应用程序启动一个应用程序,应用程序启动的状态应在android中维护
【发布时间】:2012-05-25 13:25:51
【问题描述】:

我想从 android 中的另一个应用程序启动一个应用程序。

在 App1 中说:

  • 我在 Activity1
  • 然后是Activity2
  • 然后是Activity3

我从 App2 启动 App1。

  • 应该直接显示 App1 的 Activity3 而不是 Activity1

我尝试了以下代码:

Intent i = new Intent(Intent.ACTION_MAIN); 
PackageManager manager = getPackageManager(); 
i = manager.getLaunchIntentForPackage("com.android.emailDemo");     i.addCategory(Intent.CATEGORY_LAUNCHER);
i.setComponent(new ComponentName("com.android.emailDemo", "com.android.emailDemo.EmailAppDemo")); 
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(i);

有人可以帮忙吗?

【问题讨论】:

  • 你试过了吗?你试过后效果如何?
  • 是的。我尝试使用以下代码。但它显示主要的启动活动。意图 i = new Intent(Intent.ACTION_MAIN); PackageManager 管理器 = getPackageManager(); i = manager.getLaunchIntentForPackage("com.android.emailDemo"); i.addCategory(Intent.CATEGORY_LAUNCHER); i.setComponent(new ComponentName("com.android.emailDemo", "com.android.emailDemo.EmailAppDemo")); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(i);
  • 请编辑您的问题并添加您的代码。

标签: android launch


【解决方案1】:

Android 可以通过 Manifest 标志和启动模式来做到这一点。每个活动都可以有一组标志来指示系统如何管理他们的意图。我相信您必须发送 Activity3 负责的操作并设置标志,这样就不会创建其他任务。

阅读:http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html

尝试将您的活动启动模式设置为“单顶”http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

【讨论】:

  • 它只是一个例子,它当前在 Activity3 中。它可能在 Activity2 或 Activity4 中。应维护该应用程序的最后状态(Activity2/Activity4),而不是 Activity1。
猜你喜欢
  • 1970-01-01
  • 2018-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-03
  • 1970-01-01
相关资源
最近更新 更多