Androidは、携帯電話にアプリケーションがインストールされているかどうかを判断します.

1632 ワード

転載:https://blog.csdn.net/u010880009/article/details/53883396
携帯電話にアプリがインストールされているかどうかを判断する方法はたくさんありますが、問題もあります.次の項目でよく使われている、使えるものを書きます.
    /**
     *             
     * @param context
     * @param appPackageName      
     * @return   true:  ,false:   
     */
    public static boolean isApplicationAvilible(Context context, String appPackageName) {
        PackageManager packageManager = context.getPackageManager();//   packagemanager
        List pinfo = packageManager.getInstalledPackages(0);//              
        if (pinfo != null) {
            for (int i = 0; i < pinfo.size(); i++) {
                String pn = pinfo.get(i).packageName;
                if (appPackageName.equals(pn)) {
                    return true;
                }
            }
        }
        return false;
    }

次の方法は、javaと間違えて使用する場合があります.lang.RuntimeException: Package manager has died
    /**
     *             
     * @param context
     * @param packageName      
     * @return   true:  ,false:   
     *        :java.lang.RuntimeException: Package manager has died
     */
    public static boolean isAppInstallen(Context context ,String packageName){
        PackageManager pm = context.getPackageManager();
        boolean installed = false;
        try {
                pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
            installed = true;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
            installed = false;
        }
        return  installed;
 
    }