نصب اپلیکیشن های اندروید با Intent

Farzad Sarseifi
توسط Farzad Sarseifi در آموزش های اندروید,
هرگاه بخواهید در برنامه ی خود یک برنامه دیگر را نصب کنید، باید از این طریق مسیر فایل و اسم پکیج را به آن بدین تا ان برنامه نیز نصب شود. Uri installUri = Uri.fromParts("package", "xxx", null); Intent intent = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);startActivity(intent);     public static void installApk(Context context, String path, String packagename) { try { Intent intent = new Intent(Intent.ACTION_VIEW); Uri uri; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { uri = FileProvider.getUriForFile(context, context.getPackageName() + ".provider", new File(path)); List<ResolveInfo> resInfoList = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); for (ResolveInfo resolveInfo : resInfoList) { String packageName = resolveInfo.activityInfo.packageName; context.grantUriPermission(packageName, uri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION); } } else { uri = Uri.fromFile(new File(path)); } /*intent.setDataAndType(uri, "application/vnd.android.package-archive"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent);*/ //intent = new Intent(Intent.ACTION_VIEW); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setDataAndType(Uri.fromFile(new File(path)), "application/vnd.android.package-archive"); context.startActivity(intent); } catch (Exception e) { Logger.Log("Error install apk package", e.getMessage().toString()); } }      
  • 0 پاسخ