I'm running background service that scan for BLE devices 24/7 using Android BLE API.My service run using START_STICKY. When i find a specific device i do my work.
My question is : Do i still get ScanCallback when my device go to deep sleep or do i need to acquire PARTIAL_WAKE_LOCK to prevent CPU from going to deep sleep to get ScanCallback ?
Thanks.
public class MYService extends IntentService {
public void onCreate() {
super.onCreate();
Log.e("TAG","onCreate");
BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter();
BluetoothLeScanner lEScanner = bluetoothAdapter.getBluetoothLeScanner();
ScanSettings settings = new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY).build();
List<ScanFilter> filters = new ArrayList<>();
ScanFilter.Builder sfBuilder = new ScanFilter.Builder();
sfBuilder.setDeviceName(DEVICE_NAME);
sfBuilder.setServiceUuid(ParcelUuid.fromString(ServiceUUID_D1));
filters.add(sfBuilder.build());
lEScanner.startScan(filters,settings,mScanCallback);
}