Android检测是否安装了指定应用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xzx208/article/details/84062247

本文实例讲述了Android简单判断某个APK是否已经安装的方法。分享给大家供大家参考,具体如下:

?

1

2

3

4

5

6

7

8

9

10

11

privateboolean isAppInstalled(String uri){

PackageManager pm = getPackageManager();

boolean installed =false;

try{

pm.getPackageInfo(uri,PackageManager.GET_ACTIVITIES);

installed =true;

}catch(PackageManager.NameNotFoundException e){

installed =false;

}

return installed;

}

只需要使用该方法检查你需要进行判断的应用程序包名即可:

?

1

2

3

4

5

6

if(isAppInstalled("com.yourpackage.package")){

//app installed

}

else{

//app not installed

}

检测是否安装了指定应用的方法如下:

复制代码

private boolean isAvilible( Context context, String packageName )
    {
        final PackageManager packageManager = context.getPackageManager();
        // 获取所有已安装程序的包信息
        List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);
        for ( int i = 0; i < pinfo.size(); i++ )
        {
            if(pinfo.get(i).packageName.equalsIgnoreCase(packageName))
                return true;
        }
        return false;
    }

复制代码

然后检测并启动或安装:

if(isAvilible(MainActivity.this, "com.tencent.mm")){ 
           Intent i = new Intent(); 
           ComponentName cn = new ComponentName("com.tencent.mm", 
                            "com.tencent.mm.WeiXinActivity"); 
           i.setComponent(cn); 
           startActivityForResult(i, RESULT_OK);    
   } 
    //未安装,跳转至market下载该程序 
    else { 
                    Uri uri = Uri.parse("market://details?id=com.tencent.mm");
                    // 直接从指定网址下载
                    // Uri uri = Uri.parse("http://dldir1.qq.com/foxmail/weixin521android400.apk");
                    Intent it = new Intent(Intent.ACTION_VIEW, uri); 
                    startActivity(it); 
       }

Intent intent = new Intent();
                 ComponentName component = new ComponentName("com.tencent.mm", "com.tencent.mm.WeiXinActivity");
                intent.setComponent(component);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);

猜你喜欢

转载自blog.csdn.net/xzx208/article/details/84062247