信息android开发中apk安装包常用工具

android开发工具  时间:2021-02-28  阅读:()

Android开发中apk安装包常用工具

开发项目中用到的有关获取apk信息的工具类在做版本升级的时候一般都需要用到部分方法做点笔记public class AppUtil {

*根据应用包名package name启动应用

*参数分别是上下文c ontext和应用包名 pkgNamepublic static boolean startApkByPkgName(Context context,String pkgName) {

P ac kageManager pac kageManager=c ontext.getP ac kageManager();

Intent intent=new Intent();intent=pac kageManager.getLaunc hIntentF orP ac kage(pkgName);if(intent==null) {

System.out.println(APP not found!r eturn fals e;c ontext.startAc tivity(intent);return true;

*根据apk文件路径得到app信息public static ApplicationInfo getApkInfoByPath(Context context,String absPath) {

ApplicationInfo appInfo=null;

Pac kageManager pm=c ontext.getPac kageManager();

PackageInfo pkgInfo =pm.getPac kageArchiveInfo(absPath,Pac kageManager.GET_ACTI VITIES);if(pkgInfo!=null) {appInfo=pkgInfo.applic ationInfo;

/*必须加这两句不然下面icon获取是default icon而不是应用包的icon*/

appInfo.s ourc eDir=absPath;appInfo.public Sourc eDir=absPath;return appInfo;

*根据apk应用包名得到应用信息public static PackageInfo getApkInfoByPkgName(Context context,String pkgName) {PackageInfo pkgInfo=null;

Pac kageManager pm=c ontext.getPac kageManager();try{

//0代表是获取版本信息pkgInfo=pm.getPac kageInfo(pkgName,0);

} c atch(NameNotFoundExc eption e) {

//TODO Auto-generated catch blocke.printStackTrac e();return pkgInfo;

*根据apk文件路径得到应用信息public static PackageInfo getPkgInfoByPath(Context c ontext,String absPath) {PackageInfo pkgInfo=null;

Pac kageManager pm=c ontext.getPac kageManager();pkgInfo=pm.getPackageArchiveInfo(absPath,

Pac kageManager.GET_ACTI VITIES);return pkgInfo;

*根据apk路径直接跳到安装界面

public static void installApkByPath(Context context,String absPath) {

Intent intent=new Intent(Intent.ACTION_VIEW);intent.s etDataAndType(Uri.pars e(file://+abs Path),applic ation/vnd.android.package-archiveintent.s etFlags(Intent.FLAG_ACTIVITY_NEW_TAS K);c ontext.startAc tivity(intent);

*根据apk包名卸载应用public static void uninstallApk(Context context,String packageName) {

String uriString=package:+pac kageName;

Uri uninstallUrl=Uri.parse(uriString);

Intent intent=new Intent(Intent.ACTION_DELET E,uninstallUrl);c ontext.startAc tivity(intent);public static List ResolveInfo queryAppInfo(Context c ontext,

String packageName) {

Pac kageManager pm=c ontext.getPac kageManager(); //获得Pac kageManager对象Intent mainIntent=new Intent(Intent.ACTION_MAIN,null);mainIntent.addCategory(Intent.CAT EGO RY_LAUNC HER);mainIntent.s etP ac kage(pac kageName);

//通过查询获得所有ResolveInfo对象.

List ResolveInfo resolveInfos=pm.queryIntentActivities(mainIntent,

P ac kageManager.GET_INTENT_FILTERS);return resolveInfos;

*根据名名获取版本信息public static int getInstalledAppVersionCode(Context context,String pkgName) {int versionCode=-1;

PackageInfo pkgInfo=AppUtil.getPkgInfoByName(c ontext,pkgName);if(pkgInfo!=null) {versionCode=pkgInfo.versionCode;return versionCode;

酷锐云香港(19元/月) ,美国1核2G 19元/月,日本独立物理机,

酷锐云是一家2019年开业的国人主机商家,商家为企业运营,主要销售主VPS服务器,提供挂机宝和云服务器,机房有美国CERA、中国香港安畅和电信,CERA为CN2 GIA线路,提供单机10G+天机盾防御,提供美国原生IP,支持媒体流解锁,商家的套餐价格非常美丽,CERA机房月付20元起,香港安畅机房10M带宽月付25元,有需要的朋友可以入手试试。酷锐云自开业以来一直有着良好的产品稳定性及服务态度,支...

HostYun 新上美国CN2 GIA VPS 月15元

HostYun 商家以前是玩具主机商,这两年好像发展还挺迅速的,有点在要做点事情的味道。在前面也有多次介绍到HostYun商家新增的多款机房方案,价格相对还是比较便宜的。到目前为止,我们可以看到商家提供的VPS主机包括KVM和XEN架构,数据中心可选日本、韩国、香港和美国的多个地区机房,电信双程CN2 GIA线路,香港和日本机房,均为国内直连线路。近期,HostYun上线低价版美国CN2 GIA ...

FBICDN,0.1元解决伪墙/假墙攻击,超500 Gbps DDos 防御,每天免费流量高达100G,免费高防网站加速服务

最近很多网站都遭受到了伪墙/假墙攻击,导致网站流量大跌,间歇性打不开网站。这是一种新型的攻击方式,攻击者利用GWF规则漏洞,使用国内服务器绑定host的方式来触发GWF的自动过滤机制,造成GWF暂时性屏蔽你的网站和服务器IP(大概15分钟左右),使你的网站在国内无法打开,如果攻击请求不断,那么你的网站就会是一个一直无法正常访问的状态。常规解决办法:1,快速备案后使用国内服务器,2,使用国内免备案服...

android开发工具为你推荐
行业关键词为什么有些行业关键词竟价出价很低有些行业很高免费qq空间装扮有办法免费装扮QQ空间吗??mate8价格华为mate8手机参数配置如何,多少元二层交换机二层交换机是什么意思,三层呢iphone6上市时间苹果6什么时候出来什么是云平台谁能简单说一下什么是云平台啊?网管工具网管软件好用吗?什么样的网管软件好呢?我想管理二十台电脑,让其中的四五台可以上网,其它的只能上局域网,谁能推荐一款软件吗?如果出钱买也可以!谢谢了!网站优化方案网站建设及优化的方案怎么上传音乐怎么上传音乐到网上微信怎么看聊天记录怎样才能调取微信聊天记录
域名注册中心 个人域名注册 vps代购 西部数码vps 泛域名绑定 smartvps 赵容 raksmart 国内永久免费云服务器 wordpress技巧 丹弗 毫秒英文 免空 免费个人空间 谁的qq空间最好看 免费测手机号 如何安装服务器系统 双线asp空间 英国伦敦 徐州电信 更多