信息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;

HostYun(25元)俄罗斯CN2广播IP地址

从介绍看啊,新增的HostYun 俄罗斯机房采用的是双向CN2线路,其他的像香港和日本机房,均为国内直连线路,访问质量不错。HostYun商家通用九折优惠码:HostYun内存CPUSSD流量带宽价格(原价)购买地址1G1核10G300G/月200M28元/月购买链接1G1核10G500G/月200M38元/月购买链接1G1核20G900G/月200M68元/月购买链接2G1核30G1500G/月...

ZoeCloud:香港BGP云服务器,1GB内存/20GB SSD空间/2TB流量/500Mbps/KVM,32元/月

zoecloud怎么样?zoecloud是一家国人商家,5月成立,暂时主要提供香港BGP KVM VPS,线路为AS41378,并有首发永久8折优惠:HKBGP20OFF。目前,解锁香港区 Netflix、Youtube Premium ,但不保证一直解锁,谢绝以不是原生 IP 理由退款。不保证中国大陆连接速度,建议移动中转使用,配合广州移动食用效果更佳。点击进入:zoecloud官方网站地址zo...

Ceranetworks顶级合作伙伴 香港E3 16G 299元 香港E5 32G 650元 美国E3 16G 650元

提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...

android开发工具为你推荐
行业关键词怎么挖掘关键词呢,都有哪些方法ghostxp3目前最好的ghost xp3是什么?今日热点怎么删除如何彻底删除今日热点唱吧电脑版官方下载电脑上可以安装唱吧吗?如何建立一个网站要建立一个网站怎么弄啊?虚拟专用网虚拟专用网 有什么用处?云挂机云挂机每天2+元你提了吗?分词技术搜索引擎采用的是什么技术?微信怎么看聊天记录微信如何查找聊天记录域名库域名赎回期过了多长时间可以注册
查域名 vps代理 vir 163网 美国仿牌空间 suspended 免费个人博客 圣诞节促销 e蜗 数字域名 umax120 metalink 个人免费主页 海外空间 免费ftp ebay注册 测速电信 买空间网 卡巴斯基试用版下载 hosts文件修改 更多