zoukankan      html  css  js  c++  java
  • Android AppUtil通用类

    1.整体分析

    1.1.先看一下源码,可以直接Copy。

    public class AppUtil {
    
        /**
         * 获取当前程序包名
         *
         * @param context 上下文
         * @return 程序包名
         */
        public static String getPackageName(Context context) {
            return context.getPackageName();
        }
    
        /**
         * 获取程序版本信息
         *
         * @param context 上下文
         * @return 版本名称
         */
        public static String getVersionName(Context context) {
            String versionName = null;
            String pkName = context.getPackageName();
            try {
                versionName = context.getPackageManager().getPackageInfo(pkName, 0).versionName;
            } catch (PackageManager.NameNotFoundException e) {
                Log.e("VersionInfo", "Exception", e);
            }
            return versionName;
        }
    
        /**
         * 获取程序版本号
         *
         * @param context 上下文
         * @return 版本号
         */
        public static int getVersionCode(Context context) {
            int versionCode = -1;
            String pkName = context.getPackageName();
            try {
                versionCode = context.getPackageManager().getPackageInfo(pkName, 0).versionCode;
            } catch (PackageManager.NameNotFoundException e) {
                Log.e("VersionInfo", "Exception", e);
            }
            return versionCode;
        }
    
        /**
         * 判断是否安装某个应用
         *
         * @param context     上下文
         * @param packageName 包名
         * @return 是否安装
         */
        public static boolean isAvailable(Context context, String packageName) {
            final PackageManager packageManager = context.getPackageManager();//获取packagemanager
            List<PackageInfo> pInfo = packageManager.getInstalledPackages(0);//获取所有已安装程序的包信息
            //从pinfo中将包名字逐一取出,压入pName list中
            if (pInfo != null) {
                for (int i = 0; i < pInfo.size(); i++) {
                    String pn = pInfo.get(i).packageName;
                    if (pn.equals(packageName))
                        return true;
                }
            }
            return false;
        }
    }
    View Code

    1.2.主要方法

    • 获取APP包名
    • 获取APP版本信息
    • 获取APP版本号
    • 判断是否安装某个应用  


    2.局部分析

    2.1.如何获取APP包名

      

       传入一个上下文,直接可以获取包名。

    2.2.如何获取APP版本信息

      

      传入一个上下文,直接可以获取版本名称。

    2.3.如何获取APP版本号

       

     2.4.判断是否安装某个应用

       

      这里需要知道那个应用的包名,和上下文

      不过通常常用应用的包名都是公开的,比如支付宝微信QQ什么的,就不用担心这个packageName。


    3.应用实例

    3.1.我调用了这四个函数到一个APP中,执行效果如下

      

      

    既然选择了,便不顾风雨兼程。Just follow yourself.
  • 相关阅读:
    JavaWeb学习(17):优化三层(加入接口和 DBUtil)
    [每日一题]:The Lazy Cow(silver)
    JavaWeb学习(16): 三层架构模式实现简单的学生管理系统(内含数据库)
    BZOJ3275Number——二分图最大权独立集
    BZOJ3438小M的作物——最小割
    BZOJ2127happiness——最小割
    BZOJ3894文理分科——最小割
    BZOJ2150部落战争——最小路径覆盖
    BZOJ4205卡牌配对——最大流+建图优化
    BZOJ4032[HEOI2015]最短不公共子串——序列自动机+后缀自动机+DP+贪心
  • 原文地址:https://www.cnblogs.com/Jason-Jan/p/7904022.html
Copyright © 2011-2022 走看看