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

本文实例讲述了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);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值