ウェブアプリケーション,インジェクション,コマンドインジェクション

Androidアプリ開発 ネットワークプログラミング

Bluetoothが使えるかチェック

Checking for Availabirlity of Bluetooth

市場に今出回っているほとんどのAndroidデバイスは
Bluetoothに接続できる能力を持っています。
Bluetoothは近距離でのコミュニケーション、
デバイス間で小さなデータパケットのやり取りをするときなどに
非常に有用です。
ここで紹介するいくつかのコードはBluetoothを介して、
コミュニケーションをとるAndroidアプリケーションを
どのように開発するかを示します。
まず、ターゲットとなるデバイスがBluetoothラジオが使えるかどうかを
どのように判断するかを示します。
開発するアプリケーションでBluetooth機能を使うためには、
AndroidManifest.xmlファイルに2つのパーミッションを加える
必要があります。

<uses-permission android;name="android.permission.BLUETOOTH" />
  <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

以下のオブジェクトを宣言しておきます。

BluetoothAdapter bluetoothAdapter;
static final int REQUEST_ENABLE_BT = 0;

BluetoothAdapterオブジェクトはデバイス上のBluetoothアダプタを
表すのに使われます。
一度このオブジェクトのインスタンスを生成したら、
デバイス上にペアとなるデバイスのリストを得られ、
ソケットとの同期などを作ります。
BluetoothAdapterオブジェクトのインスタンスを作るためには、
BlutoothAdapterクラスのgetDefaultAdapter()メソッドを使います。

bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

デバイスでBluetoothが使えるかどうかを判断するためには、
BluetoothAdapterオブジェクトの値がnullかどうかを
単純にチェックするだけで済みます。

//---check if bluetooth is available on the device---
private boolean IsBluetoothAvailable(){
  if(bluetoothAdapter == null)
   return false;
  else
   return true;
}

もしBluetoothが利用可能ならば、isEnabled()メソッドを使って
Bluetoothがオンになっているか確認する必要があります。

if(IsBluetoothAvailable()){
  if(!bluetoothAdapter.isEnabled)){
   //---you can also use this; but do not use without explicit user
   //permission---
   //bluetoothAdapter.enable();
   Intent i = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
   startActivityForReult(i, REQUEST_ENABLE_BT);
  }else{
   bluetoothAdapter.disable();
  }
}

デバイスのBluetoothラジオをプログラムでオンにするためには、
ACTION_REQUEST_ENABLEアクションを使ってIntentオブジェクトを
作ります。
Bluetoothラジオをオフにするには、
BluetoothAdapterオブジェクトのdisable()メソッドを呼び出すだけです。
Intentオブジェクトを使ってBluetoothラジオをオンにした時に、
オンにしていいかどうかを尋ねるプロンプトがデバイスの画面に
出てきます。


ちょっと注釈

BluetoothAdapterオブジェクトのenable()メソッドを使って
Bluetoothラジオをプログラムでオンにもできます。
しかし、そうすることでユーザの介入無しに自動的にラジオをオンに
します。開発者は明確にユーザの許可を尋ねる形をとらずに
Bluetoothをオンにすべきではありません。


ユーザがBluetoothラジオをオンにするために”Yes"をタップし、
”No"をタップすればBluetoothはオフのままです。
onActivityResult()メソッドを経由してBluetoothラジオが
オン、オフになったかどうかを判断できます。
onActivityResule()メソッドは、intentを行使するための
startActivityForResule()メソッドを使うときの
コールバックメソッドです。

protected void onActivityResult(int requestCode, int resultCode,
  Intent data){
  if(requestCode == REQUEST_ENABLE_BT){
   if(resultCode == RESULT_OK){
    Log.d("onActivityResult", "Bluetooth turned on");
   }else{
    Log.d("onActivityResult", "Bluetooth failed to turn on.");
  }
}
ホーム
便利堂ロゴ
inserted by FC2 system