una subir studio programas por play pasar otro otra open llamar gratis google enviar developer desde como celular app aplicaciones aplicacion another abrir android android-intent share

subir - llamar a otra aplicacion desde android studio



Cómo enviar apk usando la intención de compartir programaticamente en Android (1)

Tengo nombres de paquetes de algunas aplicaciones, así que ahora necesito generar todos los apk de la aplicación y desear enviar usando el intento de compartir.

intenté muchas soluciones posibles, pero no encontré ningún enfoque

uso este enlace pero no funcionó empaquetando mi aplicación y comparto con otros + Android

Gracias por adelantado


Creo que esto debería ayudarte

ArrayList<Uri> arrayListapkFilepath; // define global //put this code when you wants to share apk arrayListapkFilepath = new ArrayList<Uri>(); shareAPK(getPackageName()); // you can pass bundle id of installed app in your device instead of getPackageName() Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE); intent.setType("application/vnd.android.package-archive"); intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, arrayListapkFilepath); startActivity(Intent.createChooser(intent, "Share " + arrayListapkFilepath.size() + " Files Via")); //Method public void shareAPK(String bundle_id) { File f1; File f2 = null; final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); final List pkgAppsList = getPackageManager().queryIntentActivities(mainIntent, 0); int z = 0; for (Object object : pkgAppsList) { ResolveInfo info = (ResolveInfo) object; if (info.activityInfo.packageName.equals(bundle_id)) { f1 = new File(info.activityInfo.applicationInfo.publicSourceDir); Log.v("file--", " " + f1.getName().toString() + "----" + info.loadLabel(getPackageManager())); try { String file_name = info.loadLabel(getPackageManager()).toString(); Log.d("file_name--", " " + file_name); f2 = new File(Environment.getExternalStorageDirectory().toString() + "/Folder"); f2.mkdirs(); f2 = new File(f2.getPath() + "/" + file_name + ".apk"); f2.createNewFile(); InputStream in = new FileInputStream(f1); OutputStream out = new FileOutputStream(f2); // byte[] buf = new byte[1024]; byte[] buf = new byte[4096]; int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } in.close(); out.close(); System.out.println("File copied."); } catch (FileNotFoundException ex) { System.out.println(ex.getMessage() + " in the specified directory."); } catch (IOException e) { System.out.println(e.getMessage()); } } } arrayListapkFilepath.add(Uri.fromFile(new File(f2.getAbsolutePath()))); }