Android 打包我的应用程序并共享给其他人+;安卓
我正在为Android创建一个应用程序,我需要一个按钮将我的应用程序发送到另一部手机 我试着把apk发送给其他人,但我做不到。 我正在使用以下代码:Android 打包我的应用程序并共享给其他人+;安卓,android,bluetooth,sharing,Android,Bluetooth,Sharing,我正在为Android创建一个应用程序,我需要一个按钮将我的应用程序发送到另一部手机 我试着把apk发送给其他人,但我做不到。 我正在使用以下代码: Intent sharei=new Intent(Intent.ACTION_SEND); sharei.putExtra(Intent.EXTRA_STREAM,Uri.parse("android.resource://com.packa.ge/raw/hafez.apk")); sharei.setType("application/vnd.
Intent sharei=new Intent(Intent.ACTION_SEND);
sharei.putExtra(Intent.EXTRA_STREAM,Uri.parse("android.resource://com.packa.ge/raw/hafez.apk"));
sharei.setType("application/vnd.android.package-archive");
startActivity(Intent.createChooser(sharei, "share"));
但它不起作用
我看到一个波斯应用程序这样做了:在一个上下文菜单中,其中一个项目是:“通过蓝牙发送”,当我触摸它时,它将apk文件发送到另一部手机 我打包了我的应用程序并将其放入原始文件夹中进行发送,但这对于第二部或第三部手机来说无法正常工作 他说:“我为android创建了一个应用程序,我需要按下按钮将我的应用程序发送到其他手机”,我想他说的是发送他正在运行的同一个应用程序……
安德里亚·贝利托 对。我需要发送正在运行的应用程序。已解决
try {
PackageManager pm = getPackageManager();
ApplicationInfo ai = pm.getApplicationInfo(getPackageName(), 0);
File srcFile = new File(ai.publicSourceDir);
Intent share = new Intent();
share.setAction(Intent.ACTION_SEND);
share.setType("application/vnd.android.package-archive");
share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(srcFile));
startActivity(Intent.createChooser(share, "PersianCoders"));
} catch (Exception e) {
Log.e("ShareApp", e.getMessage());
}
我找到将base.apk更改为特殊文件名的代码
try {
PackageManager pm = getPackageManager();
ApplicationInfo ai = pm.getApplicationInfo(getPackageName(), 0);
File srcFile = new File(ai.publicSourceDir);
File outputFile = new File(Environment.getExternalStorageDirectory(),
"hamed-heydari_Com" + ".apk");
Tools.copy(srcFile, outputFile);
Intent share = new Intent();
share.setAction(Intent.ACTION_SEND);
share.putExtra(Intent.EXTRA_TEXT, Tools.getStringByName("installApp") + " " + Tools.getStringByName("app_name"));
share.setType("application/vnd.android.package-archive");
share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(outputFile));
startActivity(Intent.createChooser(share, "Share App ..."));
} catch (Exception e) {
Log.e("ShareApp", e.getMessage());
}
@加贝森恩:这是可以做到的,但这确实是一个糟糕的做法:。不过,我同意你的看法,电子邮件是最好的方式。感谢分享链接:stackoverflow.com/a/18552517/812598-但这对我没有帮助!!