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图标、版本号、包名等信息方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。