0
私が見ているすべての例を見ると、BluetoothGattオブジェクトを使用する方法を初期化することです。BLEでBluetoothGattオブジェクトを初期化する方法は?
mGatt = device.connectGatt(activity、false、gattClientCallback);
ここで、デバイスを接続せずにgattオブジェクトを初期化するにはどうすればいいですか?私は、デバイス接続、特性発見などのコールバックを処理するコールバッククラスを集中化しています。しかし、私の問題は、私が空のオブジェクトとして行くそのクラスのコンストラクタにmgattオブジェクトを渡す場合です。 は、私はいつも
@Override
public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
super.onConnectionStateChange(gatt, status, newState);
try {
// Log.d("+++++++++++++connectionstatechange", "" + status);
mBluetoothGatt = gatt;
を使用することができますが、私はconnect関数を呼び出すことなく、それを初期化することができる方法があります。
おかげで非常に:)
GattClientCallBackを拡張するシングルトンクラスを意味しますか? – Pritish
いいえ、オブジェクトにBluetoothGattオブジェクトのインスタンスがあるクラスだけです。そうすれば、このクラスのオブジェクトを渡すことができ、接続時にメンバー変数をBluetoothGattオブジェクトに割り当てることができます。 BluetoothGattオブジェクトを閉じると、メンバー変数がnullに設定されます。 – Emil