2016-03-31 17 views
7

ブルートゥースヘッドセットか携帯電話かどうか。接続されたBluetoothデバイスをAndroidでプログラムで区別する方法を教えてください。

アンドロイドコードでBluetoothヘッドセットとBluetooth対応のAndroidデバイスを区別する方法。

私はブルートゥース経由のデータ転送をブロックする機能がありますが、Bluetoothヘッドセット経由での通信を可能にする必要があるという点で、小さなアプリケーションを開発しています。

ヘッドセット/ Androidデバイス(携帯電話).etcとして接続したBluetooth機器を区別するために、この上で私を助けてください。、

は、事前にありがとうございます。

+0

この質問をご覧ください。これには必要なすべての答えがあります.http://stackoverflow.com/questions/5989847/find-type-of-bluetooth-device-whe-mobile-or-laptops-or-mac-pcs –

答えて

7

BluetoothDeviceをスキャンして見つけたら、BluetoothDevice.getBluetoothClass()というメソッドを呼び出します。これはBluetoothClassオブジェクトを返し、documentation状態は次のとおりです。

は、一般的な特性 とデバイスの機能について説明したBluetoothクラスを表します。たとえば、Bluetoothクラスでは、 は電話機、コンピュータ、または ヘッドセットなどの一般的なデバイスタイプを指定し、オーディオなどのサービスや テレフォニーなどのサービスが可能かどうかを指定します。

ですから、ユーザが接続する、または示すBluetoothDeviceのリストをフィルタリングするために、BluetoothClassが正しいデバイスタイプを持っている場合は見てみてくださいデバイスを選択できるようにする前に。

BluetoothClass bluetoothClass = bluetoothDevice.getBluetoothClass(); 
if(bluetoothClass.getDeviceClass() == BluetoothClass.Device.AUDIO_VIDEO_HEADPHONES) { 
    // allow user to select this device. I'm not sure exactly which type 
    // headphones will be but this is a good guess. You can connect to 
    // your Bluetooth headset to find out for sure. 
} 

あなたは、さらにデバイスクラスによって区別したい場合には異なるデバイスクラスの定数はhere見つけることができます。

関連する問題