【问题标题】:Sending an APK via Bluetooth to another device通过蓝牙将 APK 发送到另一台设备
【发布时间】:2018-02-06 16:24:04
【问题描述】:

我正在尝试开发一个应用程序,该应用程序可以通过蓝牙将 .APK 文件发送到具有不安全 Rfcomm 连接的另一台设备。我在两台设备上运行自编码应用程序。应用程序不一样,但我仍然可以设置 UUID、Rfcomm 侦听器等,因此连接应该可以正常工作,并且由于不安全的 rfcomm 没有任何警报来接受传输。我已经尝试了 Android 开发者页面中的 BluetoothChat 示例,但我在为我的目的更改代码时遇到了问题。谁能给我一些代码的sn-ps或任何指向如何设置蓝牙文件传输应用程序的教程链接?欢迎所有有用的东西。

编辑: 你可以说我正在尝试开发一个应用程序,它可以通过蓝牙在另一部手机上“更新”另一个应用程序。

谢谢

【问题讨论】:

标签: android bluetooth file-transfer android-bluetooth rfcomm


【解决方案1】:

这对我有用:

public void shareApk(Context context) {
        try {

            PackageManager pm = context.getPackageManager();
            ApplicationInfo ai = pm.getApplicationInfo(context.getPackageName(), 0);//context.getPackageName() is used for send my app's apk, you can give package name which you want to share
            File srcFile = new File(ai.sourceDir);
            Intent share = new Intent();
            share.setAction(Intent.ACTION_SEND);
            share.setType("application/vnd.android.package-archive");
            share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(srcFile));
            share.setPackage("com.android.bluetooth");
            context.startActivity(share);
            //context.startActivity(Intent.createChooser(share, context.getString(R.string.share_using)));
        } catch (Exception e) {
            Log.e("ShareApp", e.getMessage());
        }
    }

【讨论】:

  • 我不想发送我正在使用的应用程序的 apk。我要发送的 apk 甚至没有安装在发送手机上。它已安装在接收器手机上,因此您可以说我正在尝试使用另一部手机和应用程序对其进行更新。
  • 没错,这个code apk必须安装在发件人手机中。
  • 抱歉,这不是我要找的。正如我所说,你可以说我正在尝试开发一个应用程序,它可以通过蓝牙在另一部手机上“更新”另一个应用程序。
  • android.os.FileUriExposedException: file:///data/app/ir.aaa.project.bbb-2/base.apk 通过 ClipData.Item.getUri() 暴露在应用之外
  • @Omid 如果您的 targetSdkVersion >= 24,那么我们必须使用 FileProvider 类来授予对特定文件或文件夹的访问权限,以便其他应用程序可以访问它们。
猜你喜欢
  • 2016-05-25
  • 1970-01-01
  • 1970-01-01
  • 2013-02-05
  • 1970-01-01
  • 2015-06-13
  • 1970-01-01
  • 2013-05-23
  • 1970-01-01
相关资源
最近更新 更多