Android - 通过使用 Activity.resume() 和具有目标指针 activity 的回调来恢复应用程序

Android - Resume an application by using Activity.resume() with a callback who has a pointer of target activity

我有两个应用程序 A 和 B。 由于 A 和 B 通过 IPC Messenger 交换数据,我想知道是否可以使用 Handler handleMessage() 事件来: (1) app A 为前台:resume app B (stop stack activity)。 (2) app B 为前台:resume app A (stop stack activity).

现在我正在使用 ComponentName(packageName, className) 的新意图在两个应用程序之间切换。 A 和 B 都有多个活动,因此要在另一张地图上恢复顶部堆栈 activity,我使用一条消息告诉 "i'm A, i'm at class A3,",以便前台应用程序 B 可以具有正确的类名来创建发射意图。

有人对我有什么想法吗?谢谢,

您不能启动应用程序,只能启动活动。所以,如果你两边有不同的Activity,我觉得你的做法是合理的。

或者,您可以为每个应用程序创建一个新的 Activity,这是透明的。这个 activity 然后应该接收所有的意图,并且可以将它们委托给 activity ,它应该真正用 FLAG_REORDER_TO_FRONT.

打开

老实说,我不知道哪种方法更好。我认为这更像是一个设计问题:使用您更喜欢的东西。

总的来说:如果您有两个应用程序,都是您开发的,并且如您所描述的那样紧密联系,请考虑将它们合并为一个。