【问题标题】:How to know if an app has been installed successfully in android如何知道一个应用程序是否已在android中成功安装
【发布时间】:2011-04-11 19:19:24
【问题描述】:

我如何知道一个应用程序是否已成功安装在 android 中?我正在使用以下方法安装apk文件。

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
startActivity(intent);

【问题讨论】:

    标签: android uri android-install-apk


    【解决方案1】:
    private boolean isAppInstalled(String uri) {
    PackageManager pm = getPackageManager();
    boolean installed = false;
    try {
    pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
    installed = true;
    } catch (PackageManager.NameNotFoundException e) {
    installed = false;
    }
    return installed;
    }
    

    只需通过传递您需要检查的应用程序的包名称来调用该方法。

    if(isAppInstalled("com.yourpackage.package")){
    //app installed
    }
    else{
    //app not installed
    }
    

    【讨论】:

      【解决方案2】:

      您可以查询已安装包的列表并查找您刚刚安装的包:

      List pkgAppsList = context.getPackageManager().getInstalledPackages();

      http://developer.android.com/reference/android/content/pm/PackageManager.html#getInstalledPackages%28int%29

      【讨论】:

      • 我能想到的最简单的方法是设置一个计时器并每 60 秒查询一次 PackageManager,直到您找到该软件包,或者直到您确定它没有成功安装(即尝试 5 次后,因为5 分钟应该足够安装任何应用程序了)。我找不到任何关于安装失败的信息,所以我会简单地回答“它在那里吗?”接近。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多