4

別のAndroidデバイスをBluetoothで接続しようとしているので、最初にデバイスをペアリングしてから、別のデバイスのリクエストを送信しようとしました.

システムのBluetooth設定画面を呼び出すと、別のデバイスをペアリングできます

    Intent btSettingsIntent = new Intent(Settings.ACTION_BLUETOOTH_SETTINGS);
    startActivityForResult(btSettingsIntent, Pair_Request);

プログラムでペアリングしようとすると、このダイアログが表示され、デバイスにペアの数字を入力しましたが、別のデバイスでは応答がありません

    BluetoothDevice device = bluetoothAdapter.getRemoteDevice(strAddress);
    Intent intent = new Intent("android.bluetooth.device.action.PAIRING_REQUEST");
    intent.putExtra("android.bluetooth.device.extra.DEVICE", device);
    intent.putExtra("android.bluetooth.device.extra.PAIRING_VARIANT", 0);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

デバイスでこの画像を取得しました。ペア番号を入力すると、別のデバイスで何も取得されません

ここに画像の説明を入力

4

1 に答える 1

0

デバイスがすでにペアリングされている場合は、使用できます

if(device.getBondState()==device.BOND_BONDED){

        Log.d(TAG,device.getName());
        //BluetoothSocket mSocket=null;
        try {


            mSocket = device.createInsecureRfcommSocketToServiceRecord(MY_UUID);
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            Log.d(TAG,"socket not created");
            e1.printStackTrace();
        }
        try{

            mSocket.connect();

        }
        catch(IOException e){
            try {

                mSocket.close();
                Log.d(TAG,"Cannot connect");
            } catch (IOException e1) {
                Log.d(TAG,"Socket not closed");
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }


        }

MY_UUID 用

private static final UUID MY_UUID = UUID.fromString("0000110E-0000-1000-8000-00805F9B34FB");

上記のコード スニペットは、デバイスを A2DP 対応デバイスに接続するためのものです。うまくいくことを願っています。そうでない場合は教えてください。

于 2012-12-14T07:00:39.597 に答える