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;
}
}
1.2.主要方法
- 获取APP包名
- 获取APP版本信息
- 获取APP版本号
- 判断是否安装某个应用
2.局部分析
2.1.如何获取APP包名

传入一个上下文,直接可以获取包名。
2.2.如何获取APP版本信息

传入一个上下文,直接可以获取版本名称。
2.3.如何获取APP版本号

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

这里需要知道那个应用的包名,和上下文
不过通常常用应用的包名都是公开的,比如支付宝微信QQ什么的,就不用担心这个packageName。
3.应用实例
3.1.我调用了这四个函数到一个APP中,执行效果如下

Android AppUtil通用类的更多相关文章
- Android 意图通用类 IntentUrl
1.整体分析 1.1.源代码如下,可以直接Copy. public class IntentUtil { /** * 打开链接 * 根据设置判断是用那种方式打开 * * @param context ...
- Android Config通用类来记录信息
1.整体分析 1.1.源代码,可以直接Copy. public class Config { private static int M = 1024 * 1024; private volatile ...
- Android 网络通用类 NetUtil
1.整体分析 1.1.源代码如下,可以直接Copy. public class NetUtil { /** * 用户是否连接网络 * * @param context Context */ publi ...
- Android 文件管理器通用类 FileUtil
1.整体分析 1.1.源代码如下,可以直接Copy. public class FileUtil { private FileUtil() { } //****系统文件目录************** ...
- Android中View类OnClickListener和DialogInterface类OnClickListener冲突解决办法
Android中View类OnClickListener和DialogInterface类OnClickListener冲突解决办法 如下面所示,同时导入这两个,会提示其中一个与另一个产生冲突. 1i ...
- poi导出excel通用类
一.关键的通用类public class PoiExportUtils { private static HSSFWorkbook workBook; public PoiExportUtils ...
- NPOI MVC 模型导出Excel通用类
通用类: public enum DataTypeEnum { Int = , Float = , Double = , String = , DateTime = , Date = } public ...
- MVC NPOI Linq导出Excel通用类
之前写了一个模型导出Excel通用类,但是在实际应用中,可能不是直接导出模型,而是通过Linq查询后获取到最终结果再导出 通用类: public enum DataTypeEnum { Int = , ...
- NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中
以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...
随机推荐
- eclipse 中 添加 tomcat后,启动访问时出现404
1.切换到 server view. 2.双击出问题的 Server,出现如下页面. 3.选中Server,右键,点击选项卡的 Publish,就能进行编辑. 4.Server path 选中第二项: ...
- 缺陷=bug?
Defect(缺陷):是指静态处在于软件工作产品(文档.代码)中的错误,也指软件运行时由于这些错误被激发导致的软件产品与其属性的偏离现象. Bug:Bug通常是软件缺陷(Defect)导致的一些软件故 ...
- javascript:json对象和json字符串的相互转换
json对象和字符串的相互转换 //使用json中的parser方法转换: var str='{"name":"fendouer", "age&quo ...
- 框架: namespace和use的区别以及使用注意项
我们在使用框架的时候,总会使用到namespace和Use这两个东西,我们先来看它们存在的意义 namespace:是指我们当前类中,所在的位置.使用namespace关键字的话,我们就可以达到效果: ...
- 【转载】#330 - Derived Classes Do Not Inherit Constructors
A derived class inherits all of the members of a base class except for its constructors. You must de ...
- 关于Ubuntu下安装Win8和Win8下安装Ubuntu的注意事项
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/svitter/article/details/32932387 本文出自:http://blog.c ...
- BZOJ 4247 挂饰 01背包
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4247 JOI君有N个装在手机上的挂饰,编号为1...N. JOI君可以将其中的一些装在手机 ...
- GDB调试手册[转]
Linux 包含了一个叫gdb 的GNU 调试程序.gdb 是一个用来调试C和C++程序的强力调试器.它使你能在程序运行时观察程序的内部结构和内存的使用情况.以下是 gdb 所提供的一些功能:它使你能 ...
- LeetCode(Add Two Numbers)
一.题目要求 You are given two non-empty linked lists representing two non-negative integers. The digits a ...
- System.TimeDate
本篇将介绍时间类型. msdn官网:点击查看 时间辅助类:点击查看 方法:计算两个时间的时间差(年月日小时分钟),获取时间戳,时间格式转换,获取时间随机码 定义:表示时间上的一刻,通常以日期和当天的 ...