gpt4 book ai didi

java - 如何使 getRunningAppProcesses() 在 Android L 及更高版本中工作

转载 作者:太空宇宙 更新时间:2023-11-04 12:47:12 27 4
gpt4 key购买 nike

我正在尝试开发一个 Android 应用程序,当用户打开 WhatsApp 应用程序时,它只会显示一条 Toast 消息,显示“WhatsApp 正在运行”。

我正在使用以下代码来完成这项工作,但它不起作用。有什么方法可以让它在所有设备上运行,包括Android L和M

我查了很多资料,也没有找到正确的答案。

public void WhatsApp() {

final String str = "";
int whatsapplaunched = 0;
int whatsappclosed =0;
int whatsapplaunches = 1;

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> runningAppProcessInfo = am.getRunningAppProcesses();

for ( ActivityManager.RunningAppProcessInfo appProcess: runningAppProcessInfo ) {
Log.d(appProcess.processName.toString(),"is running");
if (appProcess.processName.equals("com.whatsapp")) {
if (appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND){
if (whatsapplaunched == 0 ){
whatsapplaunched = 1;
Log.d(str,"WhatsApp has been launched");
Toast.makeText(getApplicationContext(), "WhatsApp is running", Toast.LENGTH_LONG).show();
} // Last If Ends
else if (whatsappclosed == 1){
whatsapplaunches++;
whatsappclosed = 0;
Log.d(String.valueOf(whatsapplaunches),"counter");
} // Else If Ends
} // 2 IF Ends
else {
whatsappclosed = 1;
Log.d(str,"WhatsApp has been closed");
} // Else Ends
} // Main If Ends
} // For Ends
}

提前致谢

最佳答案

您可以尝试此代码

  ActivityManager manager=(ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> processes=manager.getRunningAppProcesses();
int i=0;
for(ActivityManager.RunningAppProcessInfo process:processes)
{
if(process.processName.contains("com.whatsapp"))
{
Toast.makeText(getBaseContext(), "Whatsapp running", Toast.LENGTH_SHORT).show();
}
break;
}

关于java - 如何使 getRunningAppProcesses() 在 Android L 及更高版本中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36195569/

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