场景:
- 我有一个活动
AndroidProcessActivity
- 我从
AndroidProcessActivity
启动了一个新ActivityNewProcessActivity
,但这与之前的应用程序不同 - 两个活动都在应用程序中
问题:
- 现在,如何将事件从
AndroidProcessActivity
发送到AndroidProcessActivity
- 这可能吗
<activity
android:name=".game.NewProcessActivity"
android:launchMode="singleTask"
android:process=":testScreen"
android:theme="@style/AppTheme">
问题与进程间通信有关
1条答案
按热度按时间s4n0splo1#
通常一个新的Activity会在同一个进程中运行(这是默认的),所以你可以简单地从Activity
AndroidProcessActivity
调用NewProcessActivity
的成员函数,反之亦然。例如,你可以在
NewProcessActivity
中使用一个单例变量,这样当你想调用一个成员函数时,你就有了一个对象,但是要注意活动可以是launched multiple times。<activity>
具有进程和多进程属性,这可能导致活动在单独的进程上运行。因为在Linux上所有的东西(包括线程)都被称为进程,我不确定是否可以简单地从主进程调用这个新进程上的方法。我建议简单地尝试一下,如果它工作的话,你必须使用Java synchronized来使所有的东西都是线程安全的。
如果这是不可能的(这是我所期望的),你必须使用IPC:
Intent
将参数传递给活动