共享来自插件的系统服务,以避免过多的权限请求
|
在我的应用中,我有一些带有gps位置的对象。目前,我对它们所做的唯一一件事就是在地图上显示它们,但我计划实现需要了解用户位置的其他功能。我不想向我的应用添加位置权限,因为某些用户可能不想使用这些功能。
我的想法是拥有一个单独的apk(一种插件),该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);
}
}
没有找到相关结果
已邀请:
3 个回复
雄鞋谋塘
门锑腺潮
闲窍
不是
,因此您无法在进程之间传递它。 这将使得可以使用现有的类,例如MyLocationOverlay或其他类。 不。您没有写
。您不能强迫它使用您自己的设计的人造“ 1”字样。 主应用可以像这样将ContextWrapper传递给这些类
不是
,因此您不能在进程之间传递它。