1

上記で提供したタイトルについて、すでに多くの質問が寄せられていることは承知していますが、満足のいくものは見つかりませんでした。また、Android Bluetoothとそのサンプル Bluetooth チャット アプリケーションについても調べました。しかし、私が望むのは、他の Bluetooth 対応デバイス (Android または非 Android の両方) からデータ (文字列メッセージまたはファイル) を受信するデモ Android アプリを作成することです。上記のリンクまたはコード スニペットは非常に役立ちます。よろしくAppyコーディング..

EDIT 以下は、DeviceListPickerActivity.java からデバイスを正常に選択した後にデータを取得しようとしているコードです。

public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(D) Log.d(TAG, "onActivityResult " + resultCode);
        switch (requestCode) {
        case REQUEST_CONNECT_DEVICE:
            // When DeviceListActivity returns with a device to connect
            if (resultCode == Activity.RESULT_OK) {

                // Get the device MAC address
                String address = data.getExtras().getString(DeviceListActivity.EXTRA_DEVICE_ADDRESS);

                // Get the BLuetoothDevice object
                device = mBluetoothAdapter.getRemoteDevice(address);
                String deviceFriendlyName = device.getName().toString();

                Toast.makeText(getApplicationContext(), "Device " + deviceFriendlyName +" Selected", Toast.LENGTH_SHORT).show();
                try{
                    BluetoothSocket btSocket = device.createRfcommSocketToServiceRecord(UUID.fromString("fa87c0d0-afac-11de-8a39-0800200c9a66"));
                    btSocket.connect();
                    String strReceivedBytesFromDevice;
                    InputStream input = btSocket.getInputStream();
                    DataInputStream dinput = new DataInputStream(input);
                    StringBuffer inputLine = new StringBuffer();
                    while((strReceivedBytesFromDevice = dinput.readLine()) != null){
                        inputLine.append(strReceivedBytesFromDevice);
                        System.out.println("Data Received from BT device:" + strReceivedBytesFromDevice);
                    }
                    dinput.close();
                    }catch (Exception e) {
                    Toast.makeText(getApplicationContext(),
                            "Error in establishing connection with device.",
                            Toast.LENGTH_SHORT).show();
                    }
                // Attempt to connect to the device
                if(mChatService != null){
                    mChatService.connect(device);
//                  getBluetoothMessageString();
                }else {
                    // Initialize the BluetoothChatService to perform bluetooth connections
                    mChatService = new BluetoothService(this, mHandler);
//                    getBluetoothMessageString();
                }
            }
            /*else{
                Toast.makeText(getApplicationContext(), "Failed to connect to device", Toast.LENGTH_LONG).show();
            }*/
            break;
4

0 に答える 0