zoukankan      html  css  js  c++  java
  • 用代码如何检测一个android程序是否在运行

    /**
         * 检测一个android程序是否在运行
         * @param context
         * @param PackageName
         * @return
         */
        public static  boolean isServiceStarted(Context context,String PackageName) {
            //<uses-permission android:name="android.permission.GET_TASKS"/>
            //https://crazier9527.iteye.com/blog/1476134
            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;
        }
    

      权限

    <uses-permission android:name="android.permission.GET_TASKS"/>

    判断一个程序是否安装,如果安装就启动

    start_btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (isApkInstalled(getApplicationContext(),"包名")){
                        Intent intent = getPackageManager().getLaunchIntentForPackage("包名");
                        if (intent != null) {
                            intent.putExtra("type", "110");
                            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                            startActivity(intent);
                        }
                    }else {
                        Toast.makeText(getApplicationContext(),"没有安装", Toast.LENGTH_SHORT).show();
                    }
    
    
                }
            });

    判断一个程序是否安装

    /**
         * 判断程序是否安装  
         * @param context
         * @param packageName
         * @return
         */
        public static boolean isApkInstalled(Context context, String packageName) {
            if (TextUtils.isEmpty(packageName)) {
                return false;
            }
            try {
                ApplicationInfo info = context.getPackageManager().getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
                return true;
            } catch (PackageManager.NameNotFoundException e) {
                e.printStackTrace();
                return false;
            }
        }
  • 相关阅读:
    多个装饰器装饰一个函数
    DRF 里面DestroyAPIView实例
    ERROR: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-e7q1vcuk/mysqlclient/解决办法!
    python3 协程爬取两张妹子图
    python3 协程简单运用爬取两张妹子图
    gevent 简单运用
    D
    C
    B
    javascript cookie
  • 原文地址:https://www.cnblogs.com/changyiqiang/p/10794541.html
Copyright © 2011-2022 走看看