android编程,如何知道其他软件是否安装了?

自己先一个程序,这个程序如何知道某个指定的软件是否安装...
2026年09月19日 00:43
有3个网友回答
网友(1):

public static boolean checkApp(Context context, String packageName){
 PackageManager pm = context.getPackageManager();
 List packs = pm.getInstalledPackages(0);
 for (PackageInfo pi : packs){
  if (pi.applicationInfo.packageName.equals(packageName)){
   return true;
  }
 }
 return false;
}

packageName取要检测软件的包名,例如"com.android.phone"

网友(2):

//获取所有安装程序信息
List packageInfos=getPackageManager().getInstalledPackages(0);    
for (int i = 0; i < packageInfos.size(); i++) {    
    PackageInfo pInfo=packageInfos.get(i);    
    AllAppInfo allAppInfo=new AllAppInfo();    
    allAppInfo.setAppname(pInfo.applicationInfo.loadLabel(getPackageManager()).toString());//应用程序的名称    
    allAppInfo.setPackagename(pInfo.packageName);//应用程序的包    
    allAppInfo.setVersionCode(pInfo.versionCode);//版本号    
    allAppInfo.setLastInstal(pInfo.firstInstallTime);    
    //allAppInfo.setProvider(pInfo.providers);    
    allAppInfo.setInstalPath(pInfo.applicationInfo.sourceDir);    
    allAppInfo.setAppicon(pInfo.applicationInfo.loadIcon(getPackageManager()));    
    appList.add(allAppInfo);    
}

获取到后你可以自己判断是否有你指定的程序

网友(3):

遍历所有已经安装的程序再判断