AppInfoUtil 获取App应用程序信息工具类

这段时间在写快速开发框架,抽空总结了一下网上的获取App信息的工具,相对来说比较灵活。
参数为Context context
能够获取应用名称,应用包名,版本号,版本名称,签名,应用图标


package com.umk.andx3.util;

 
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
 
/**
 * @author Winnid
 * @title 应用程序信息
 * @version:1.0
 * @since:13-12-18
 */
public class AppInfoUtil {
 
    public static PackageManager packageManager = null;
    public static PackageInfo packageInfo = null;
    public static ApplicationInfo applicationInfo = null;
 
    private static PackageManager getPackageManager(Context context) {
        if(packageManager == null) {
            packageManager = context.getApplicationContext().getPackageManager();
        }
        return packageManager;
    }
 
    public static PackageInfo getPackageInfo(Context context) {
        if(packageInfo == null) {
            try {
                packageInfo = getPackageManager(context).getPackageInfo(context.getPackageName(), 0);
            } catch (PackageManager.NameNotFoundException e) {
                packageInfo = null;
            }
        }
        return packageInfo;
    }
 
    private static ApplicationInfo getApplicationInfo(Context context) {
        if(applicationInfo == null) {
            try {
                applicationInfo = getPackageManager(context).getApplicationInfo(context.getPackageName(), 0);
            } catch (PackageManager.NameNotFoundException e) {
                applicationInfo = null;
            }
        }
        return applicationInfo;
    }
 
 
    public static String getAppName(Context context) {
        String applicationName = getPackageManager(context).getApplicationLabel(getApplicationInfo(context)).toString();
        return applicationName;
    }
 
 
 
    public static String getPackageName(Context context) {
        String packageName = getPackageInfo(context).packageName;
        return packageName;
    }
 
    public static String getVersionName(Context context) {
        String versionName = getPackageInfo(context).versionName;
        return versionName;
    }
 
    public static int getVersionCode(Context context) {
        int versionCode = getPackageInfo(context).versionCode;
        return versionCode;
    }
 
    public static Drawable getAppIcon(Context context) {
        Drawable appIcon = getApplicationInfo(context).loadIcon(getPackageManager(context));
        return appIcon;
    }
 
    /*
     * 获取程序的签名
     */
    public String getAppSignature(Context context){
        String appSignature = getPackageInfo(context).signatures[0].toCharsString();
        return appSignature;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值