2017-08-29 101 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

抱歉,但這不是我要找的。正如我所說你可以說我正在開發一款應用程序,可以通過藍牙「更新」另一部手機上的另一個應用程序。 –

相關問題