簡體   English   中英

再次檢查時檢查是否已安裝Android應用程序返回錯誤

[英]Check if Android app is installed returns an error when checking a second time

我想檢查是否使用以下代碼安裝了Android應用:

if (isAppInstalled("com.anydo")) {
    textview3.setText("TRUE");
} else {
    textview3.setText("FALSE");
}
private boolean isAppInstalled(String uri) {
    android.content.pm.PackageManager pm = getPackageManager();

    try {
        pm.getPackageInfo(uri, android.content.pm.PackageManager.GET_ACTIVITIES);
        return true;
    } catch (android.content.pm.PackageManager.NameNotFoundException e) {}
    return false;
}

它實際上可以正常工作,但是我想再次檢查一個應用程序,並且使用相同的if代碼,但是返回錯誤。

我正在使用這個if(isAppInstalled("com.anydo")) {} else {}

如何解決?

我的示例代碼: https : //drive.google.com/file/d/1B1ypjgxSLOO7Hvm2tgmPK65obujZR381/view?usp=drivesdk

我的錯誤代碼: https : //drive.google.com/file/d/1B4jtcxGPp2O4qIbKGya18EmHegEXd4ZX/view?usp=drivesdk

試試這個代碼;

 public static boolean isAppInstalled(Context context, String packageName) {
        try {
            return context.getPackageManager().getApplicationInfo(packageName, 0).enabled;
        } catch (PackageManager.NameNotFoundException e) {
            return false;
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM