Android APP 检测安装打开 APK 三步操作

本文介绍 Android APP 检测、安装、打开 APK,三步操作,分别是:检查 APP 是否已经安装,安装已经下载好的 APK,打开已经安装的 APK。

1、检查 APP 是否已经安装


  1. /**
  2. * 检查 APP 是否已经安装
  3. * @param context
  4. * @param packagename 需求检查的 APP 包名
  5. * @return 没有安装返回 false,已经安装返回 true
  6. */
  7. private boolean isAppInstalled(Context context, String packagename) {
  8. PackageInfo packageInfo;
  9. try {
  10. packageInfo = context.getPackageManager().getPackageInfo(packagename, 0);
  11. } catch (NameNotFoundException e) {
  12. packageInfo = null;
  13. e.printStackTrace();
  14. }
  15. if(packageInfo == null) {
  16. //System.out.println("没有安装");
  17. return false;
  18. } else {
  19. //System.out.println("已经安装");
  20. return true;
  21. }
  22. }

2、安装已经下载好的 APK


  1. /**
  2. * 安装 APK
  3. * @param info
  4. */
  5. private void install(String apkname) {
  6. try {
  7. Intent intent = new Intent(Intent.ACTION_VIEW);
  8. String url = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + Environment.DIRECTORY_DOWNLOADS + apkname);
  9. File file = new File(url);
  10. if(file.exists()) {
  11. intent.setDataAndType(Uri.fromFile(new File(url)), "application/vnd.android.package-archive");
  12. context.startActivity(intent);
  13. } else {
  14. // 安装包已经删除请重新下载
  15. }
  16. } catch (Exception e) {
  17. // TODO: handle exception
  18. }
  19. }

3、打开已经安装的 APK


  1. /**
  2. * 打开已经安装好的 APK
  3. * @param url 文件路径
  4. */
  5. private void openApk(String url) {
  6. try {
  7. PackageManager manager = context.getPackageManager();
  8. // 这里的是你下载好的文件路径
  9. PackageInfo info = manager.getPackageArchiveInfo(url, PackageManager.GET_ACTIVITIES);
  10. if (info != null) {
  11. Intent intent = manager.getLaunchIntentForPackage(info.applicationInfo.packageName);
  12. context.startActivity(intent);
  13. }
  14. } catch (Exception e) {
  15. // TODO: handle exception
  16. }
  17. }

(完)