上記で提供したタイトルについて、すでに多くの質問が寄せられていることは承知していますが、満足のいくものは見つかりませんでした。また、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;