بسیاری از سخت افزارهای اندروید اشیا بلوتوث را پشتیبانی می کنند. اما باید توجه داشته باشید که بعد از ویرایش 3 توسعه دهندگان اندروید اشیا این قابلیت افزوده شده است. راه اندازی بلوتوث می تواند قابلیت های زیادی را به شما اضافه کند و یک را ارتباطی مطمئن برای ارسال و دریافت اطلاعات با منابع بیرونی باشد. پس به این ارتباط محتاج خواهید شد. تغییرات ویرایش ها را از اینجا چک کنید.
در سخت افزار مورد بحث ما یعنی رازبری پی 3 بلوتوث وجود دارد و تنها کافی است با دستورات اندروید در اکتیویتی اصلی برنامه آن را فعال کنیم.
<uses-permission android:name=”android.permission.BLUETOOTH” />
<uses-permission android:name=”android.permission.BLUETOOTH_ADMIN” />
برای برنامه دو مجوز استفاده از بلوتوث را در مانیفست درخواست کنید.
private BluetoothAdapter mBluetoothAdapter;
…
// Initializes Bluetooth adapter.
final BluetoothManager bluetoothManager =
(BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
mBluetoothAdapter = bluetoothManager.getAdapter();
اداپتور بلوتوث را روشن کنید. این کار برای هر برنامه ای که با بلوتوث دارید لازم است و حتما باید اداپتور را داشته باشید.
if (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}
اکنون آن را فعال کنید. کدهای بالا چک می کند تا ببیند اداپتور فعال است و اگر نیست آن را فعال می کند. مراحل اولیه کار انجام شده است و شما می توانید برای جستجوی بلوتوث های اطرافتان اقدام کنید.
public class DeviceScanActivity extends ListActivity {
private BluetoothAdapter mBluetoothAdapter;
private boolean mScanning;
private Handler mHandler;
// Stops scanning after 10 seconds.
private static final long SCAN_PERIOD = 10000;
…
private void scanLeDevice(final boolean enable) {
if (enable) {
// Stops scanning after a pre-defined scan period.
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
mScanning = false;
mBluetoothAdapter.stopLeScan(mLeScanCallback);
}
}, SCAN_PERIOD);
mScanning = true;
mBluetoothAdapter.startLeScan(mLeScanCallback);
} else {
mScanning = false;
mBluetoothAdapter.stopLeScan(mLeScanCallback);
}
…
}
…
}
با کدی به نمونه بالا می توانید بلوتوث های فعال اطراف تان را بیابید. ما همین کار را کردیم و نتیجه بخش بود. و کدها بر روی اندروید اشیا به خوبی جواب دادند. شما هم امتحان کنید