一、根據包名判斷應用是否存在
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,也可以通過改包名,來實現多個同一個應用的多次安裝!
很簡單,不足試驗下,你還是永遠不會、、、、、、、、、
