Я работал над приложением для обнаружения маяков, которое использует службу переднего плана для обнаружения маяков.
Код отлично работает на Android 7.0, но по какой-то причине вылетает на Android 8.0.Я зарегистрировал headlessJS, как упомянуто в документации, он отлично работает на Android 7.0 и ниже, но вылетает с ошибкой на Android 8.0.
HeadlessJsTaskConfig getTaskConfig(Intent intent) {
Bundle extras = intent.getExtras();
if (extras == null) {
return null;
}
String event = extras.getString("eventName");
if (TextUtils.isEmpty(event)) {
return null;
}
WritableMap map = new WritableNativeMap();
if (extras.containsKey("beacon")) {
map = BeaconHelper.getObject((Beacon) extras.getParcelable("beacon"));
}
Log.d(TAG, event);
return new HeadlessJsTaskConfig(event, map,5000, true);
}
Я считаю, что есть некоторые проблемы в JS, я пыталсярегистрация событий с помощью DeviceEventEmitter, NativeEventEmitter и реестра реестра тоже.
AppRegistry.registerHeadlessTask('didEnterRegion', () =>
console.log('here'));
AppRegistry.registerComponent('didExitRegion', () =>
console.log('there'));
DeviceEventEmitter.addListener('didEnterRegion', (beacons) =>
console.log(beacons));
DeviceEventEmitter.addListener('didExitRegion', (beacons) =>
console.log(beacons));
Я получаю эту ошибку, хотя