我有一个 Android 应用程序,我希望其他应用程序能够通过意图启动。这允许其他应用程序与我的交互并提供初始输入等。
调用 App(称之为 App-A)执行以下操作:
Intent intent = new Intent("com.myapp.dosomething");
intent.putExtra("com.myapp.value1", "1.25");
intent.putExtra("com.myapp.value2", "bob");
startActivity(intent);
我的活动从意图过滤器开始:
<intent-filter>
<action android:name="com.myapp.dosomething" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
如果用户通过我的应用程序的正常流程,一切正常。用户做一些事情,然后当我知道用户完成时,我在我的活动上调用 finish()。一切都是花花公子。
但是,如果在我的应用程序中执行操作的部分过程中,用户点击主页按钮而不是完成任务,我们最终会遇到一个主要问题。如果他们尝试从启动器重新启动 App-A,则会弹出我的应用程序。如果不强制终止我的应用程序,用户将永远无法返回 App-A。更糟糕的是,我的应用程序专门设计为在启动之间不保留任何数据,并且当以这种方式重新启动时,它也不会获得最初传入的任何额外数据,因此我的应用程序无法知道另一个应用程序是还在等我的。
如何进行设置以使 App-A 不会坐在那里等待我的应用程序?无论我的应用程序做什么,它都应该能够继续运行。如果我的应用程序崩溃或没有返回值,我不希望调用应用程序永远挂起。
有任何想法吗?
谢谢。