Android NetworkLocationProvider and GeocodeProvider

修改 frameworks/base/core/res/res/values/config.xml

把GoogleServicesFramework.apk和NetworkLocation.apk添加到 /system/app目录下.

功能:

NetworkLocationProvider,网络定位功能;

GeocodeProvider,坐标地址转换功能。

 

Android 11 对于定位服务的获取机制进行了一些调整。在 Android 11 及以上版本,系统对后台应用访问位置信息施加了更严格的限制。默认情况下,对于非前台应用,Google Play 的政策要求应用必须使用 `ACCESS_FINE_LOCATION` 或 `ACCESS_COARSE_LOCATION` 权限来获取位置信息。如果你的应用是从 Android 11 或更高版本的设备上获取位置信息,而没有获取到 `NETWORK_PROVIDER` 的位置更新,可能是因为 `NETWORK_PROVIDER` 在 Android 11 中已被弃用。 如果你的应用依赖于网络位置提供者,你可以改用 Fused Location Provider API,这是 Google 推荐的方式。Fused Location Provider API 会自动选择最佳的位置源(如 GPS 和网络),以提供更准确和快速的位置信息。它还能智能地管理设备的电源使用,因为当位置信息不是必需的时候,它会减少位置更新的频率。 要使用 Fused Location Provider,你需要在应用的 `AndroidManifest.xml` 文件中添加必要的权限: ```xml <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> ``` 然后,使用 Google Play 服务的 `FusedLocationProviderClient` 来请求位置更新: ```java FusedLocationProviderClient locationClient = LocationServices.getFusedLocationProviderClient(context); locationClient.requestLocationUpdates(locationRequest, locationCallback, Looper.getMainLooper()); ``` 在这里,`locationRequest` 是你设置的位置请求参数,`locationCallback` 是位置更新的回调。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值