Android 是怎么判断某个APK文件是否已经安装

 我来答
匐草
推荐于2016-08-29 · 知道合伙人互联网行家
匐草
知道合伙人互联网行家
采纳数:288 获赞数:1532
毕业于青岛理工大学物理系,本科学位,读过心理学,计算机科学,担任那木科技公司运营经理。

向TA提问 私信TA
展开全部

目前Android有两种主流的判断方式,第一种是根据程序包的名称(packageName)来判断。另外一种就是根据intent来判断,具体代码如下:

  1. 根据包名判断,以下为判断代码:
    public boolean checkApkExist(Context context, String packageName) {
    if (packageName == null || “”.equals(packageName))
    return false;
    try {
    ApplicationInfo info = context.getPackageManager()
    .getApplicationInfo(packageName,
    PackageManager.GET_UNINSTALLED_PACKAGES);
    return true;
    } catch (NameNotFoundException e) {
    return false;
    }
    }

    2. 根据Intent判断,以下为判断代码:
    public boolean checkApkExist(Context context, Intent intent) {
    List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent, 0);
    if(list.size() > 0){
    return true;
    }
    return false;
    }
    public boolean checkApkExist(Context context, String packageName) {
    if (packageName == null || “”.equals(packageName)) return false;
    try {
    ApplicationInfo info = context.getPackageManager() .getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); return true;
    } catch (NameNotFoundException e) { return false; }

    public boolean checkApkExist(Context context, Intent intent) {
    List<ResolveInfo> list = context.getPackageManager()
    .queryIntentActivities(intent, 0);
    if (list.size() > 0) {
    return true;
    }
    return false;
    }

    以上代码只是基于安卓系统来判断,对于ios系统无效。

huanglenzhi
2015-01-25 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117525 获赞数:517222
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
判断某个APK文件是否已经安装
privateboolean 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
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友eee84b1c8
2015-01-25 · 超过15用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:46.4万
展开全部
PackageManager
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式