安卓判断是否安装应用,没安装从应用商店下载安装

public static boolean isAvilible(Context context, String packageName){ 
        final PackageManager packageManager = context.getPackageManager();//获取packagemanager 
        List< PackageInfo> pinfo = packageManager.getInstalledPackages(0);//获取所有已安装程序的包信息 
        List<String> pName = new ArrayList<String>();//用于存储所有已安装程序的包名 
       //从pinfo中将包名字逐一取出,压入pName list中 
            if(pinfo != null){ 
            for(int i = 0; i < pinfo.size(); i++){ 
                String pn = pinfo.get(i).packageName; 
                pName.add(pn); 
            } 
        } 
        return pName.contains(packageName);//判断pName中是否有目标程序的包名,有TRUE,没有FALSE 
  } 


if(BaiduTool.isAvilible(Setting_activity.this.getApplicationContext(), "com.baidu.BaiduMap")){ 
                try {
                    intent = Intent.getIntent("intent://map/direction?origin=latlng:"+BaiduTool.getInstance().getLocationX()+","+BaiduTool.getInstance().getLocationY()+"|name:我的位置&destination= &mode=transit&region=青岛&src=移动医疗护理#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
                } catch (URISyntaxException e) {
                    ToastUtils.show(getApplicationContext(), "调用百度地图失败.");
                    Log.i("BaiduToolisAvilible", "未安装");
                }
                startActivity(intent);    
            } 
            //未安装,跳转至market下载该程序 
            else { 
                //未安装百度地图,跳转应用商店.
                ToastUtils.show(getApplicationContext(), "未安装百度地图,跳转应用商店.");
                Uri uri = Uri.parse("market://details?id=com.baidu.BaiduMap");//id为包名 
                Intent it = new Intent(Intent.ACTION_VIEW, uri); 
                startActivity(it); 
            }
            //移动APP调起Android百度地图方式举例

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。