Android判断应用或Activity是否存在

一、根据包名判断应用是否存在

public boolean checkApplication(String packageName) {

  if (packageName == null || "".equals(packageName)){

      return false;

  }

  try {

      ApplicationInfo info = getPackageManager().getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
      return true;
  } catch (NameNotFoundException e) {
      return false;
  }

}


二、判断Activity是否存在

  Intent intent = new Intent();
  intent.setClassName("包名", "类名");

 

方法一:
  if (getPackageManager().resolveActivity(intent, 0) == null) {  

       // 说明系统中不存在这个activity
  }

方法二:
  if(intent.resolveActivity(getPackageManager()) == null) {  

       // 说明系统中不存在这个activity
  }
方法三:
  List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent, 0);
  if (list.size() == 0) {   
       // 说明系统中不存在这个activity
  }

 

出处:http://blog.csdn.net/chanccie/article/details/8314951 /如果/应用不存在的话,Activity都不会存在了,相反也是一样,所以我觉得判断一个就OK了

 

[Android] 判断手机上是否安装了某个程序

http://blog.csdn.net/xiaodongrush/article/details/9320135 //这个是获取包名的信息,从而判断是否存在。

 

android 判断应用程序是否已安装  

http://longshuai2007.blog.163.com/blog/static/142094414201221862010732/

因为android的每一个apk的activity的包的名字都是唯一的,所以可以通过判断这个activity所在包的名字来判断是不是该Apk已经安装

反过来,我们同一个apk,也可以通过改包名,来实现多个同一个应用的多次安装!

很简单,不足试验下,你还是永远不会、、、、、、、、、

posted @ 2017-10-18 18:35  stma  阅读(8015)  评论(0编辑  收藏  举报