【问题标题】:is there away to find out if an apk is installed and if so open app是否可以查看是否安装了 apk 以及是否安装了应用程序
【发布时间】:2016-03-11 14:43:41
【问题描述】:

大家好,我之前的一些问题已被标记,所以请注意。

我想知道的是,我是否可以使用一些代码告诉我的应用程序用户安装了 apk。然后在我的应用程序中打开它。

我有一个列表视图,列表视图内是可供下载的可用应用程序列表。我已经弄清楚如何确定是否安装了apk而不是下载。但我无法找出已安装的位。

我试过了

public static boolean isPackageInstalled(Context context, String packageName) {
final PackageManager packageManager = context.getPackageManager();
Intent intent = packageManager.getLaunchIntentForPackage(packageName);
if (intent == null) {
    return false;
}
List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
return list.size() > 0;

}

然后使用

ispackageinstalled();

但这需要上下文和字符串 所以我尝试将其添加到构造函数中

Context shb;
private Static String Showbox = "com.tk.Showbox";

然后尝试

ispackageinstalled(shb,Showbox);

并且应用程序只是崩溃了大声笑我显然写错了。如果可能的话,如果安装,我也希望选择变成红色。但是让应用程序打开将是一个很大的帮助,欢呼伙计们

【问题讨论】:

  • 如果它崩溃,请发布 logcat。如果您发布更完整的代码 sn-ps 也会很方便。
  • 我昨天发布了更多代码并因此被标记。所以我想我会从我使用的方法开始,然后从那里开始工作。我会在我回家后发布 logcat,不过感谢您的帮助

标签: java android methods installation apk


【解决方案1】:

您需要将实际的Context 传递给该方法。托管ListViewActivity 子类是Context。将 Activity 传递到您的 ispackageinstalled() 方法中。

【讨论】:

  • 这样的? isPackageInstalled(downloads.this,Showbox)
  • @MarkMinecrafterHarrop:如果downloads 是您的Activity 类的名称,并且this 在活动内部的某个位置(例如,在某个内部类中),那么是的。跨度>
  • 感谢您现在尝试一下,我们会尽快回复您。感谢@commonsWare 的帮助
  • 它不再导致错误,但它没有接缝做任何事情。只要单击该项目,我就会调用该方法,然后是一个 if 语句以表明它是否未安装。它接缝跳转 ispackage 安装状态
【解决方案2】:

发现这是我想要的方式

 private boolean isCallable(Intent intent) {

    if (intent == null) {
        return false;
    }
    List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent,
            PackageManager.MATCH_DEFAULT_ONLY);
    return list.size() > 0;

}

然后用这样的包详细信息制作一个 Intent

Intent AllcastOpen = getPackageManager().getLaunchIntentForPackage("com.koushikdutta.cast");

然后是 if 语句

 if (isCallable(AllcastOpen) == true) {
  AllcastInstalled.equals(true);

  startActivity(AllcastOpen);

allcastInstalled 是一个单独的方法,如果安装/下载取决于选择的颜色,它会改变选择的颜色

【讨论】:

    猜你喜欢
    • 2013-06-26
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    • 2013-09-16
    • 2011-10-14
    • 1970-01-01
    相关资源
    最近更新 更多