1. 程式人生 > >Android判斷是否安裝某個應用

Android判斷是否安裝某個應用

在程式碼中判斷:
一、可以通過獲取某個應用資訊並捕獲未安裝時的異常判斷:

private boolean checkAppInstalled(Context context,String pkgName) {
    if (pkgName== null || pkgName.isEmpty()) {
        return false
    }
    PackageInfo packageInfo;        
    try {
        packageInfo = context.getPackageManager().getPackageInfo(pkgName, 0);
    } catch (NameNotFoundException e) {
        packageInfo = null;
        e.printStackTrace();
    }
    if(packageInfo == null) {
        return false;
    } else {
        return true;//true為安裝了,false為未安裝
    }
}

二、通過獲取應用列表對比判斷:

private boolean checkAppInstalled( Context context, String pkgName) {
    if (pkgName== null || pkgName.isEmpty()) {
        return false
    }
    final PackageManager packageManager = context.getPackageManager();
    List<PackageInfo> info = packageManager.getInstalledPackages(0);
    if(info == null || info.isEmpty())
        return false;
    for ( int i = 0; i < info.size(); i++ ) {
        if(pkgName.equals(info.get(i).packageName)) {
                return true;
        }
    }
    return false;
}

本地判斷:

一、本地檢視是否安裝:
在studio中的logcat中ctrl+F搜尋報名判斷是否安裝

二、adb檢視安裝的應用列表:
adb shell pm list packages

注:檢視應用版本號
adb shell dumpsys package