私は1つのインスタンスを持つサービスを持っていますBluetoothGattCallback
public class MyService extends Service {
private BluetoothGattCallback callback;
@Override
public void onCreate() {
super.onCreate();
callback = new BluetoothGattCallback() {
@Override
public synchronized void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
Log.i("onConnectionStateChanged", "Status " + status);
Log.i("onConnectionStateChanged", "New State " + newState);
}
};
}
// registration of bluetooth adapter and blah blah blah
}
アプリを起動すると、問題なく動作し、コールバックは 1 回だけ呼び出されますが、数回試行した後、2 回呼び出されます。
サンプルログ
10-22 13:29:18.731 26944-26961/redacted.lollipop I/onConnectionStateChange: Status 0
10-22 13:29:18.731 26944-26961/redacted.lollipop I/onConnectionStateChange: New State 2
10-22 13:29:18.731 26944-26961/redacted.lollipop I/onConnectionStateChange: Status 0
10-22 13:29:18.731 26944-26961/redacted.lollipop I/onConnectionStateChange: New State 2
その他のサンプル ログ
10-22 13:29:48.836 26944-26961/redacted.lollipop I/onConnectionStateChange: Status 8
10-22 13:29:48.836 26944-26961/redacted.lollipop I/onConnectionStateChange: New State 0
10-22 13:29:48.850 26944-30763/redacted.lollipop I/onConnectionStateChange: Status 8
10-22 13:29:48.850 26944-30763/redacted.lollipop I/onConnectionStateChange: New State 0
また、アプリがアクティブである時間が長くなるほど、より多くの回数が呼び出されます。これを防ぐにはどうすればよいですか?