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

Java 如何使getRunningAppProcesses()在Android L及更高版本中工作,java,android,xml,Java,Android,Xml,我正在尝试为Android开发一个应用程序,当用户打开WhatsApp应用程序时,它会显示一条Toast消息,上面写着“WhatsApp正在运行” 我正在使用下面的代码来做这项工作,但它不起作用。有没有办法让它在所有设备上都工作,包括安卓L和M 我找了一天的时间,找不到正确的答案 public void WhatsApp() { final String str = ""; int whatsapplaunched = 0; int whatsa

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

我正在使用下面的代码来做这项工作,但它不起作用。有没有办法让它在所有设备上都工作,包括安卓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
}
public void WhatsApp(){
最后一个字符串str=“”;
int-whatsapplaunched=0;
int whatsappclosed=0;
int whatsapplapps=1;
ActivityManager am=(ActivityManager)getSystemService(Context.ACTIVITY_服务);
List runningAppProcessInfo=am.getRunningAppProcesss();
对于(ActivityManager.RunningAppProcessInfo appProcess:RunningAppProcessInfo){
Log.d(appProcess.processName.toString(),“正在运行”);
if(appProcess.processName.equals(“com.whatsapp”)){
if(appProcess.importance==ActivityManager.RunningAppProcessInfo.importance\u前台){
如果(whatsapplaunched==0){
whatsapplaunched=1;
Log.d(str,“WhatsApp已推出”);
Toast.makeText(getApplicationContext(),“WhatsApp正在运行”,Toast.LENGTH\u LONG.show();
}//最后如果结束
否则如果(whatsappclosed==1){
WhatsApp++;
whatsappclosed=0;
Log.d(String.valueOf(WhatsAppLaunchs),“计数器”);
}//否则,如果结束
}//如果结束,则返回2
否则{
whatsappclosed=1;
Log.d(str,“WhatsApp已关闭”);
}//否则结束
}//主If结束
}//目的
}
提前感谢

您可以尝试此代码

  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;
    }
ActivityManager=(ActivityManager)this.getSystemService(Context.ACTIVITY_服务);
List processs=manager.getRunningAppProcesses();
int i=0;
for(ActivityManager.RunningAppProcessInfo进程:进程)
{
if(process.processName.contains(“com.whatsapp”))
{
Toast.makeText(getBaseContext(),“Whatsapp正在运行”,Toast.LENGTH_SHORT.show();
}
打破
}
您可以尝试此代码

  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;
    }
ActivityManager=(ActivityManager)this.getSystemService(Context.ACTIVITY_服务);
List processs=manager.getRunningAppProcesses();
int i=0;
for(ActivityManager.RunningAppProcessInfo进程:进程)
{
if(process.processName.contains(“com.whatsapp”))
{
Toast.makeText(getBaseContext(),“Whatsapp正在运行”,Toast.LENGTH_SHORT.show();
}
打破
}

它在Kitkat工作…我需要让它在Android L和higherIt上工作…我需要让它在Android L和更高版本上工作