2 hcg 21 hcg_21 于 2013.07.15 10:19 提问

检查第三方应用程序是否启动

我想检查第三方应用程序是否已经启动。
如果我知道 packagename 的话,就能打开第三方应用程序。
比如:

Intent intent = getPackageManager().getLaunchIntentForPackage("com.thirdparty.package");
startActivity( intent );

我能检查看它以前是否打开了吗?如何实现?

1个回答

Jave_
Jave_   2013.07.15 11:34
已采纳
public static  boolean isServiceStarted(Context context,String PackageName)
    {
        boolean isStarted =false;
        try
        {
            ActivityManager mActivityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
            int intGetTastCounter = 1000;
            List<ActivityManager.RunningServiceInfo> mRunningService = 
                      mActivityManager.getRunningServices(intGetTastCounter );
            for (ActivityManager.RunningServiceInfo amService : mRunningService)
            {
                    if(0 == amService.service.getPackageName().compareTo(PackageName))
                    {                
                            isStarted = true;
                            break;
                    }
            }
        }
        catch(SecurityException e)
        {
                e.printStackTrace();
        }            
        return isStarted;                
    }

权限:

Csdn user default icon
上传中...
上传图片
插入图片