android 程序檢測是否安裝

判斷手機已安裝某程序的方法:
private 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
    }
   
判斷後的邏輯:
//已安裝,打開程序,需傳入參數包名:"com.skype.android.verizon"
if(isAvilible(this, "com.skype.android.verizon")){
                Intent i = new Intent();
                ComponentName cn = new ComponentName("com.skype.android.verizon",
                        "com.skype.android.verizon.SkypeActivity");
                i.setComponent(cn);
                startActivityForResult(i, RESULT_OK);   
            }
//未安裝,跳轉至market下載該程序
else {
                Uri uri = Uri.parse("market://details?id=com.skype.android.verizon");//id爲包名
                Intent it = new Intent(Intent.ACTION_VIEW, uri);
                startActivity(it);

            } android


轉載自http://ruixiazun.blog.163.com/blog/static/906879182013021115923732/ ui

相關文章
相關標籤/搜索