В моем приложении у меня есть несколько объектов с позициями GPS.На данный момент единственное, что я делаю с ними, - это отображение их на карте, но я планирую реализовать другие функции, которые должны знать местоположение пользователей.Я не хочу добавлять разрешение на местоположение в мое приложение, потому что некоторые пользователи могут не захотеть использовать эти функции.
Моя идея заключалась в том, чтобы иметь отдельный apk (своего рода плагин), который предоставляет только основное приложение.с информацией о местоположении, так что только плагин должен запрашивать разрешение на местоположение.
Можно ли разрешить плагину совместно использовать системный сервис (LocationManager) напрямую, не создавая пользовательский сервис с несовместимым интерфейсом, так что основнойПриложение может использовать LocationManager плагина.Это позволило бы использовать существующие классы, такие как MyLocationOverlay или другие.Основное приложение может передавать ContextWrapper следующим классам:
public static class LocationContext extends ContextWrapper {
public LocationContext(Context base) {
super(base);
}
@Override
public Object getSystemService(String name) {
if (name.equals(LOCATION_SERVICE)) {
// Return the LocationManager service of the plugin here...
}
return super.getSystemService(name);
}
}