1

Bluetoothヘッドセットの接続と切断を認識し、ログファイルに書き込む小さなアプリを作成したいと思います。

Bluetooth接続を検出するためにAndroidSDKの例を使用しようとしましたが、機能しません。アプリケーションがロードされているとき、OnServiceConnectedへの呼び出しがあります。それだけです。Bluetoothヘッドセットで接続および切断しているときに、OnServiceConnectedまたはOnServiceDisconnectedへの他の呼び出しはありません(1つ以上疲れました)。

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 
    }
};
4

1 に答える 1

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
            }
        }
    }
于 2012-04-17T13:53:31.043 に答える