2017-08-29 102 views
0

我正在尝试开发一个应用程序,它可以通过蓝牙发送一个.APK文件到另一个不安全的Rfcomm连接的设备。我正在两台设备上运行自编码的应用程序。这些应用程序并不相同,但我仍然可以设置UUID,Rfcomm Listener等,因此连接应该正常工作,并且由于rfcomm不安全而没有任何警报来接受传输。我尝试了Android开发者页面的BluetoothChat示例,但是我为了自己的目的而更改代码时遇到了问题。任何人都可以给我一些代码片段或任何链接到教程如何设置蓝牙文件传输应用程序?每一个有用的东西都是受欢通过蓝牙发送一个APK到另一个设备

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

感谢

+1

那么关于Android开发的网页? https://developer.android.com/training/beam-files/send-files.html – Piwo

+0

不幸的是我不能使用梁/ nfc –

回答

2

这为我工作:

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

我不想发送我使用的应用程序的apk。我想发送的apk甚至不会安装在发送电话上。它安装在接收器手机上,所以你可以说我正在尝试用另一个手机和应用程序更新它。 –

+1

的确如此,对于此代码apk必须安装在发件人手机中。 –

+0

抱歉,但这不是我要找的。正如我所说你可以说我正在开发一款应用程序,可以通过蓝牙“更新”另一部手机上的另一个应用程序。 –

相关问题