打包我的应用程序并分享给其他+ android

时间:2014-02-16 20:48:23

标签: 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.android.package-archive");
startActivity(Intent.createChooser(sharei, "share"));

但它不起作用。


我看到一个波斯应用程序执行此操作:在上下文菜单中,其中一项是:"通过蓝牙发送"当我触摸它时,它将apk文件发送到另一部手机。

我打包了我的应用并将其放到Raw文件夹中发送,但这对第2或第3部手机无法正常工作。

  

他说:"我创建了一个Android应用程序我需要把按钮发送我的应用程序到其他手机",我想他正在谈论发送他正在运行的同一个应用程序.... />   Andrea Bellitto

是。我需要发送正在运行的应用程序。

2 个答案:

答案 0 :(得分:12)

已解决......

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());
}

答案 1 :(得分:0)

我找到了将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());
        }