gpt4 book ai didi

android - 如果 android 应用程序不存在,则从 onReceive 方法启动它

转载 作者:行者123 更新时间:2023-11-29 20:11:42 24 4
gpt4 key购买 nike

我有一个在后台服务中运行的计时器。它广播一个 Intent ,该 Intent 在 Activity onReceive() 中接收如果应用程序被用户杀死,我想启动它。否则我想继续使用该应用程序。我正在使用以下代码从 onReceive() 重新启动应用程序。

if(/*Application is killed*/) {
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}

if block 中应该使用哪个条件?

最佳答案

您只需要检查您的应用程序是否正在运行或不在接收

代码 fragment

boolean isApplicationRunning = false;
ActivityManager activityManager = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE );
List<RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
for(int i = 0; i < procInfos.size(); i++){
if(procInfos.get(i).processName.equals("com.me.checkprocess")){
Log.e("Result", "App is running - Doesn't need to reload");
isApplicationRunning = true;
break;
}
else
{
Log.e("Result", "App is not running - Needs to reload);
}
}

然后就可以执行

if(isApplicationRunning) {
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);

关于android - 如果 android 应用程序不存在,则从 onReceive 方法启动它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34714987/

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