デバイスをスキャンし、別のデバイス「HC-07」に接続したいのですが、それが範囲内にある場合、または Android デバイスで有効になっている場合。デバイス...
private final BroadcastReceiver ActionFoundReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
if(BluetoothDevice.ACTION_FOUND.equals(action)) {
device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
short rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI, Short.MIN_VALUE);//find rssi dBm
int pair_state = device.getBondState();
if(device.getName()=="HC-07"){
try {
openBT();
Toast.makeText(getBaseContext(),"HC-07 found", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (pair_state == 12){ pair_str="Paired";
btArrayAdapter.add("Dev name: "+ device.getName() + "\n" + "Mac: " + device.getAddress() + "\n" + "Signal RSSI: " + rssi + "dBm" + "\n"+pair_str);
}
btArrayAdapter.notifyDataSetChanged();
}
}};
void openBT() throws IOException
{
UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
mmSocket = device.createRfcommSocketToServiceRecord(uuid);
mmSocket.connect();
mmOutputStream = mmSocket.getOutputStream();
}