当前位置: 移动技术网 > IT编程>移动开发>Android > 解决Android 10/Android Q手机在后台无法正常定位问题

解决Android 10/Android Q手机在后台无法正常定位问题

2020年03月09日  | 移动技术网IT编程  | 我要评论

中石化集团公司,半月清腋露,姓名算命婚姻

android 10 在2019年9月份正式发布,带来了一个非常重大的gps权限改变。为用户提供了 仅在使用此应用时允许。一旦用户选择“仅在使用此应用时允许”,就会导致app在后台或者锁屏时候无法正常记录gps轨迹,这个对像滴滴出行、共享单车、跑步软件影响非常的大。

针对这个变化,google也给出了新的 。

第一步:升级sdk

修改build.gradle,升级app的 compilesdkversion 和 targetsdkversion。

android {
  compilesdkversion 29
  defaultconfig {
    targetsdkversion 29
  }
}

第二步:增加后台定位权限

修改 androidmanifest.xml 文件,增加 access_background_location权限,并且为对应的服务增加 android:foregroundservicetype="location"。

<manifest >
  <uses-permission android:name="android.permission.access_coarse_location" />
  <uses-permission android:name="android.permission.access_fine_location" />
  <uses-permission android:name="android.permission.access_background_location" />
  <application>
    <service android:name=".exampleservice" android:foregroundservicetype="location" />
  </application>
</manifest>

第三步:申请后台定位权限

if (build.version.sdk_int >= build.version_codes.q) {
  activitycompat.requestpermissions(this,arrayof(manifest.permission.access_coarse_location,
    access_background_location
  ),101)
} else {
  activitycompat.requestpermissions(this,arrayof(manifest.permission.access_coarse_location),101)
}

通过以上方法,就可以获取用户是否允许app后台定位,如果用户不允许,就会提示下面的对话框。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网