Я работаю с LocationManager
оповещением о близости, и оно отлично работает.
Но на android 8
срабатывает много времени.
Когда я переместил его с AndroidManifest
и registerReciever
в Activity (BroardcastReceiver), он довольно быстрый, но все еще немного медленный.
Это проблема с PendingIntent
на Android 8
Или изменить PendingIntent.getBroadcast
на PendingIntent.getService
Есть идеи?
Ниже мой код:
Intent intent = new Intent(mContext, GeofenceReceiver.class);
Bundle bundle = new Bundle();
bundle.putParcelable(PROXIMITY_POINT, prox);
intent.setAction(PROXIMITY_ALERT);
intent.putExtra(PROXIMITY_DATA, bundle);
PendingIntent pendingIntent =
PendingIntent.getBroadcast(mContext, prox.getId(), intent, PendingIntent.FLAG_UPDATE_CURRENT);
getLocationManager().addProximityAlert(
Double.parseDouble(prox.getLat()),
Double.parseDouble(prox.getLon()),
prox.getRadius(),
prox.getExpire(),
pendingIntent);