apk是否有,獲取apk包名,名字,版本,等一些常用信息
獲取手機所以apk的包名,名字,版本,等一些常用信息
List<PackageInfo> list = getPackageManager().getInstalledPackages(0);
for (int i = 0; i < list.size(); i++) {
PackageInfo packageInfo = list.get(i);
try {
String apkName = packageInfo.applicationInfo.loadLabel(
getPackageManager()).toString();
String packageName = packageInfo.packageName;
String versionName = packageInfo.versionName;
String versionCode = packageInfo.versionCode+"";
i("apkNameLog", "="+i+"=="+apkName+"=="+packageName+"=="+versionName+"=="+versionCode);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
判斷該APK是否已經被安裝
private boolean isAvilible(Context context, String packageName) {
if (packageName == null || "".equals(packageName))
return false;// 沒有安裝
try {
PackageInfo packageInfo =
this.getPackageManager().getPackageInfo(packageName, 0);
return true;// 已經安裝
} catch (NameNotFoundException e) {
return false;// 沒有安裝
}
}
打開APK程序代碼
private void openFile(File file) {
// TODO Auto-generated method stub
Log.e("OpenFile", file.getName());
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file),
"application/vnd.android.package-archive");
startActivity(intent);
}