2012-04-09 19 views
1

ブルートゥースヘッドセットの接続と切断を認識し、ログファイルに書き込む小さなアプリケーションを構築したいと考えています。ブルートゥース接続の検出(android sdk ICS)

私はBluetooth接続を検出するためにandroid SDK exampleを使用しようとしましたが、機能しません。 アプリケーションがロードされているときに、私はOnServiceConnectedを呼び出しています。 OnServiceConnectedまたはOnServiceDisconnectedへの他の呼び出しは、私がBluetoothヘッドセットで接続したり切断したりしているときには(私はもっと疲れました)。

すべてのコードをOnCreate関数に書きました。

多分問題はアンドロイド4ですか? それは何ですか?

// Get the default adapter 
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 

// Establish connection to the proxy. 
mBluetoothAdapter.getProfileProxy(this.getApplicationContext(), mProfileListener, BluetoothProfile.HEADSET); 

private BluetoothProfile.ServiceListener mProfileListener = new BluetoothProfile.ServiceListener() { 
    public void onServiceConnected(int profile, BluetoothProfile proxy) { 
     // Write to log - OnServiceConnected 
    } 
    public void onServiceDisconnected(int profile) { 
     // Write to log - OnServiceDisconnected 
    } 
}; 

答えて

3

いいえ、それを見つけました。ここで

はそれを次のとおりです。

getApplicationContext().registerReceiver(receiver, 
        new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED)); 
getApplicationContext().registerReceiver(receiver, 
        new IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECTED)); 

private final BroadcastReceiver mReceiver = new BroadcastReceiver() 
    { 
     @Override 
     public void onReceive(Context context, Intent intent) 
     { 
      if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)) 
      { 
       // LOG - Connected 
      } 
      else if (BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(action)) 
      { 
       // LOG - Disconnected 
      } 
     } 
    } 
+1

あなたの答えは、まだ私はあなたの答えあなたのAndroidマニフェストにbluetoothの権限を追加する必要が追加されますが正しいです。 '' – alexm

+0

'アクション'とは何ですか? – msysmilu

+0

'action'は' String action = intent.getAction(); 'です。 – msysmilu