Android 获取未安装的APK图标、版本号、包名等信息方法
一、获取APK图标
publicstaticDrawablegetApkIcon(Contextcontext,StringapkPath){ PackageManagerpm=context.getPackageManager(); PackageInfoinfo=pm.getPackageArchiveInfo(apkPath, PackageManager.GET_ACTIVITIES); if(info!=null){ ApplicationInfoappInfo=info.applicationInfo; appInfo.sourceDir=apkPath; appInfo.publicSourceDir=apkPath; try{ returnappInfo.loadIcon(pm); }catch(OutOfMemoryErrore){ Log.e("ApkIconLoader",e.toString()); } } returnnull; }
下面代码段中PackageManager、PackageInfo、ApplicationInfo均同上面一致。
二、获取APK名称
Stringlabel=appInfo.loadLabel(mPackManager).toString();
三、获取APK包名
StringpackageName=appInfo.packageName;
四、获取APK版本号
Stringversion=info.versionName==null?"0":info.versionName
五、推断APK是否安装
privatebooleanisApkInstalled(Stringpackagename) { PackageManagerlocalPackageManager=getPackageManager(); try { PackageInfolocalPackageInfo=localPackageManager.getPackageInfo(packagename,PackageManager.GET_UNINSTALLED_PACKAGES); returntrue; } catch(PackageManager.NameNotFoundExceptionlocalNameNotFoundException) { returnfalse; } }
六、安装APK
privatevoidinstallAPK(StringapkPath) { Intentintent=newIntent(); intent.setAction(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setDataAndType(Uri.parse("file://"+apkPath), "application/vnd.android.package-archive"); mContext.startActivity(intent); }
七、打开APK
privatevoidopenAPK(Stringpackagename) { PackageManagerpackageManager=mContext.getPackageManager(); Intentintent=newIntent(); intent=packageManager.getLaunchIntentForPackage(packagename); mContext.startActivity(intent); }
以上这篇Android获取未安装的APK图标、版本号、包名等信息方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。