如何判断 手机上是不是安装 某个app 比如百度地图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断 手机上是不是安装 某个app 比如百度地图相关的知识,希望对你有一定的参考价值。

是写代码吗?

思路就是,先获取手机内安装的应用,在判断是否有百度地图这款软件。


首先,写一个应用的实体类,里面包括引用的图标,名称,版本等:

public class PackageInf 

    private String appName; //应用名称
    private String packageName; //应用包名
    private String versionName; //版本名
    private int versionCode; //版本号
    private Drawable appIcon; //图标

    public PackageInf(String appName, String packageName) 
        this.appName = appName;
        this.packageName = packageName;
    
    //省略get set方法。
    


然后,查找所有应用。

//获取手机上所有安装软件的名称、包名
private List loadPackageInfo() 

    List<PackageInfo> packages = getActivity().getPackageManager().getInstalledPackages(0);
    List allPackList = new ArrayList();

    //遍历,获取应用名和包名
    for (PackageInfo p : packages) 
        if ((p.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) 
            String appPackage = p.packageName;
            String appName = p.applicationInfo.loadLabel(getActivity().getPackageManager()).toString();
            PackageInf packageInf = new PackageInf(appName, appPackage, null, appVersion, appIcon);
            allPackList.add(packageInf);
        
    
    return allPackList;


最后,你只需要判断PackageInf 类里的appName或者packageName,如果有百度地图,那就说明用户安装了,否则就是没安装~



参考技术A ios可以通过插入一个指向app-scheme://的iframe,并监听onerror时间来判断某个app是否已安装;android的判断是与iOS的判断方法相似的。

以上是关于如何判断 手机上是不是安装 某个app 比如百度地图的主要内容,如果未能解决你的问题,请参考以下文章

APP如何在电脑上执行?

请问,安卓手机上,是不是有办法从网页中判断 某个程序是不是安装?请高人解答,谢谢。

手机上获取地图某个定位的经纬度坐标的方法 - 查询经度纬度 - 百度地图app高德地图appEarth地球

手机上获取地图某个定位的经纬度坐标的方法 - 查询经度纬度 - 百度地图app高德地图appEarth地球

Android开发:检测手机上是不是安装该App

如何判断ios中是不是安装了某个应用