- Android
- 2012-12-18
この記事は最終更新日から1年以上経過しています。
AndroidでBluetoothを使ってみます。
Bluetoothアダプタークラスをインポート
import android.bluetooth.BluetoothAdapter;
アダプターとリクエストコードの定義
BluetoothAdapter mBluetoothAdapter = null; final int REQUEST_ENABLE_BT = 1; //任意のコード
アクティビティのonCreateでアダプターをセットします。
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); }
Bluetoothを有効にするメソッドを作成します。
private void bluetoothWakeup() { if (mBluetoothAdapter == null) { Toast.makeText(this, "Bluetoothが搭載されていません。", Toast.LENGTH_LONG).show(); return; } if (!mBluetoothAdapter.isEnabled()) { Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableIntent, REQUEST_ENABLE_BT); } } // 端末を周辺のBluetooth機器から検索できるようにします(300秒間有効) @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // 自分が投げたインテントであれば応答する if (requestCode == REQUEST_ENABLE_BT && resultCode == RESULT_OK) { if (mBluetoothAdapter.getScanMode() != BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE) { Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300); startActivity(discoverableIntent); } } super.onActivityResult(requestCode, resultCode, data); }
アクティビティが破棄された時にBluetoothを無効にするようにしておきます。
@Override protected void onStop() { if (mBluetoothAdapter.isEnabled()) { mBluetoothAdapter.disable(); Toast.makeText(this, "Bluetoothをオフにしました。", Toast.LENGTH_LONG).show(); } super.onStop(); }
AndroidManifest.xml
に以下のパーミッションを追加します。
<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
7,223 views