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

Virmach:1核/512M1核M1核512M/夏季美国vps促销,年付$7.2,9月更换AMD平台

virmach怎么样?virmach家这几年非常火,从商家的黑五闪购开始,以超低的价格吸引了大批的国人客户,而且商家的机器还是非常稳定的,站长手里的4.75刀年付已经用了两年了,非常稳定,不过商家到国内的线路一般,目前商家新上了夏季优惠促销,价格低到发指,年付7.2美元起,商家反馈将在9月开始更换AMD+NVMe平台,这个消息从年初就有了,不过一直没有更换,目前这个时间也不确定是否准确。点击进入:...

妮妮云(43元/月 ) 香港 8核8G 43元/月 美国 8核8G

妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...

HaBangNet(6.95美元/月)美国vps 5TB流量/德国vps 香港双向CN2 GIA VPS

HaBangNet支持支付宝和微信支付,只是价格偏贵,之前国内用户并不多。这次HaBangNet推出三个特价套餐,其中美国机房和德国机房价格也还可以,但是香港机房虽然是双向CN2 GIA线路,但是还是贵的惊人,需要美国和德国机房的可以参考下。HaBangNet是一家成立于2014年的香港IDC商家,中文译名:哈邦网络公司,主营中国香港、新加坡、澳大利亚、荷兰、美国、德国机房的虚拟主机、vps、专用...

android开发工具为你推荐
百度k站百度K站是怎么回事?邮箱怎么写正确的邮箱格式怎么写刷网站权重如何刷流量才能提高网站权重pw美团网电话是什么pw创维云电视功能创维新出的4K超高清健康云电视有谁用过,功能效果怎么样?创维云电视功能创维健康云电视有什么功能?系统分析员考系统分析员有什么好处?什么是云平台什么是云系统?网站优化方案一个网站进行优化的流程及步骤rewritebase如何使用WampServer2.0软件
国外空间租用 备案域名购买 韩国vps俄罗斯美女 淘宝二级域名 便宜建站 免费ftp空间 谷歌香港 特价空间 suspended gitcafe 12306抢票攻略 ixwebhosting 服务器架设 777te 全站静态化 丽萨 广东服务器托管 学生机 japanese50m咸熟 .htaccess 更多