0

Bluetooth経由でメッセージを渡すアプリを開発しています.1つのデバイスから別のデバイスに1つのメッセージを渡したい(デバイスは既にペアリングされています) ペアリングされたデバイスを表示できます.しかし、2つのデバイスを接続する方法がわかりません.誰でもできます従うべき手順を教えてください.2台の電話間の接続を作成する方法は?

      public class MainActivity extends Activity {
  TextView textview1;
  private static final int REQUEST_ENABLE_BT = 1;
  BluetoothAdapter btAdapter; 

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    textview1 = (TextView) findViewById(R.id.textView1);

    // Getting the Bluetooth adapter
    btAdapter = BluetoothAdapter.getDefaultAdapter();
    textview1.append("\nAdapter: " + btAdapter);

    CheckBluetoothState();
  }

  /* It is called when an activity completes.*/
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_ENABLE_BT) {
      CheckBluetoothState();
    }
  }

  @Override
  protected void onDestroy() {
    super.onDestroy();
  }

  private void CheckBluetoothState() {
    // Checks for the Bluetooth support and then makes sure it is turned on
    // If it isn't turned on, request to turn it on
    // List paired devices
    if(btAdapter==null) { 
      textview1.append("\nBluetooth NOT supported. Aborting.");
      return;
    } else {
      if (btAdapter.isEnabled()) {
        textview1.append("\nBluetooth is enabled...");

        // Listing paired devices
        textview1.append("\nPaired Devices are:");
        Set<BluetoothDevice> devices = btAdapter.getBondedDevices();
        for (BluetoothDevice device : devices) {
          textview1.append("\n  Device: " + device.getName() + ", " + device);
        }
      } else {
        //Prompt user to turn on Bluetooth
        Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
        startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
      }
    }
  }


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

}

4

1 に答える 1

0

を使用する代わりにtextView、ListView を使用して、itemsそれらを に追加したのと同じ方法で追加しますtextView

//declaration in class
ListView  lview;
ArrayAdapter<String> listAdapter;

//in onCreate()

lview  = (ListView) findViewById(R.id.listPairedDev);
lview.setOnItemClickListener(this);

///////here it gets added to list
ArrayOfDevices = btAdapter.getBondedDevices();
                    if(ArrayOfDevices.size()>0)//paired dev more than 0
                    {
                        for(BluetoothDevice device: ArrayOfDevices)
                        {
                            listAdapter.add(device.getName()+ "\n" +device.getAddress());

                        }
                    }

匿名onClickListenerまたはタイプのアクションリスナーを追加する方法について読んでください。これには、次のようなメソッドがあります。

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {


//Click event on individual item of list.



}

クリックイベントを設定するときは、メッセージを送信する悲鳴をリッスンするサーバーを設定します。それがサーバーになります(サーバーとして設定します。私の言葉をそのままにしないでください)。
その前に、スレッドを使用してアプリがサーバーに接続されていることを確認してください。Androidスレッドの詳細を読むことができます。サーバー (サーバーとして機能する他のアプリ) への接続、マニフェスト ファイル内の Android のアクセス許可 (Bluetooth や管理者など) が重要です。そして、それが双方向通信アプリで双方向メッセージを渡す場合、両方のアプリでサーバーとクライアントを処理するために同じコーディングを行う必要があります。

于 2013-10-10T20:46:19.260 に答える