gpt4 book ai didi

java - 检测在多进程应用程序的主进程上运行的应用程序类

转载 作者:搜寻专家 更新时间:2023-11-01 03:48:40 25 4
gpt4 key购买 nike

我有一个 Android 应用程序,它扩展了 Application 类,并且有许多应用程序组件(服务、 Activity 和广播接收器)沿着三个不同的进程运行。

每个进程一启动就会实例化Application类。所以我一直在寻找如何检查 Application 类代码,如果该实例由主应用程序进程拥有,但我找不到任何东西。

我的 list 看起来像这样:

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:name=".MyApplication"
android:theme="@style/AppTheme" >

<activity
android:name="...">
...
</activity>

<activity
android:name="...">
...
</activity>

<service android:name="..." >
</service>

<service android:name="..."
android:process=":SecondProcess" >
</service>

<service android:name="..."
android:process=":ThirdProcess" >
</service>

接下来是我的 Application 类实现:

public class MyApplication extends Application {

@Override
public void onCreate() {
super.onCreate();

if (is this instance being ran on the main process?) {
// Do something
}
}

}

有谁知道如何检查实例是否在主进程上运行?

最佳答案

寻找同一问题的答案。

到目前为止,我发现使用可以从进程 ID 中找到当前正在运行的进程,并在 onCreate 中进行 if 检查。

 public void onCreate(){
...
String processName = getProcessName();
switch(processName){
case process1:
// do something
break;
case process2:
// do something
break;
....

}

关于java - 检测在多进程应用程序的主进程上运行的应用程序类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35064207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com