2017-05-16 21 views
0

私は青い歯のデバイスに実際にユーザーの許可なしで接続し、テキストファイルを他のデバイスに送信したいと考えています。どのように接続して他のデバイスに接続要求を送信するのかはすでに分かっていますが、私は青い歯のデバイスにユーザ権限なしで接続したいと思っています。私は、ユーザーの許可を必要とし、あなた自身のBluetoothアプリを設定する必要がありますIntentを介してデータを送信したテキストファイルを送信するには、このコードを使用しますが、それを動作していないことは、「接続の問題」ユーザー権限のないBluetoothデバイスにテキストファイルを送信するにはどうすればよいですか?

public void sendFile(){ 
    String className = null; 
    String packageName = null; 

    File file = new File(Environment.getExternalStorageDirectory(), "testfile.txt"); 

    Intent intent = new Intent(); 
    intent.setAction(Intent.ACTION_SEND); 
    intent.setType("text/plain"); 
    intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); 

    PackageManager pm =this.getPackageManager(); 
    List<ResolveInfo> appsList = pm.queryIntentActivities(intent, 0); 

    if(appsList.size() > 0){ 
     boolean found = false; 

     for(ResolveInfo info: appsList){ 
      packageName = info.activityInfo.packageName; 
      if(packageName.equals("com.android.bluetooth")){ 
       className = info.activityInfo.name; 
       found = true; 
       break;// found 
      } 
     } 
    } 
    intent.setClassName(packageName, className); 
    this.startActivity(intent); 
} 

答えて

0

を言うのです。

https://developer.android.com/samples/BluetoothChat/index.htmlのサンプルを調べて、ブルートゥース経由でデータを送受信する方法を確認してください。

バイト配列でテキストを受け取ったら、それを.txtファイルまたは任意の拡張子に保存します。

あなたのアプリは両方のデバイス(お使いのデバイスとリモートデバイス)にインストールする必要があります。

何かが起こったことをユーザーに知らせずにデータを送信する方法はありません。 Intentで送信すると、リモートデバイス(はい/いいえボタン)にプロンプ​​トが表示されます。リモートデバイスにアプリをインストールすると、アプリが自分の端末にインストールされていることがわかります。

関連する問題