直播系统开发小窍门,如何开启用户位置权限
在直播系统开发的过程中,大多数的APP平台在启动时都会用户索要一定的权限用于后台运行,当中定位的权限显得就尤为重要。当我们开启定位时,它可以帮助用户更快地找到自己想要的内容,从而提高用户体验,还可以方便附近的用户更加容
易地发现身边的热门直播,接下来就位大家讲解下,直播系统开发时如何开定位权限。
一、直播系统开发前言
随着安卓系统版本的变动,定位权限也多次被修改。随着变动次数的增多,但是对于不同的版本,不同的机型差异越来越大,在处理定位权限时,需要注意的地方就变多了。本篇主要记录对不同安卓版本,不同厂商机型定位权限的适配。
二、直播系统开发时当前的定位权限
<!-- Allows an app to access approximate location. 近似定位权限,api1,如:网络定位 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- Allows an app to access precise location 精准定位权限,api1,如:GPS定位--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- Allows an app to access location in the background. 后台定位权限,api29,android10新增 --> <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
直播系统开发时定位权限属于:ACCESS_FINE_LOCATION
直播系统开发时后台定位权限:ACCESS_BACKGROUND_LOCATION
直播系统开发时前台定位: 网络定位和GPS定位属于前台定位,应用在前台才能使用。
直播系统开发时后台定位: 后台定位权限,应用在后台时也能使用定位。。
注意: 一般来说使用定位功能申请GPS定位就足够了,只有当App在后台也需要定位功能时,才需要申请后台定位。
在Android10开始,新增了后台定位权限,如果没有申请这个权限,当App在后台时,将无法使用定位功能。
三、直播系统开发时后台定位注意点
3.1 android10的手机上targetSDK小于android10也需要做兼后台定位权限(ACCESS_BACKGROUND_LOCATION)十分敏感,与其他新增的权限不太一样。android10的手机
上targetSDK小于android10也需要做兼。在android10以上的手机,即使targetSdkVersion小于android10,如果用户没有主动授权后台定位权限,APP处在后台也将无法获取定位。
3.2 android 10系统上,可以在同一个权限弹窗中同时申请:ACCESS_FINE_LOCATION和ACCESS_BACKGROUND_LOCATION权限。
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) requestPermissions(arrayOf(Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_BACKGROUND_LOCATION), 100) } }
3.3 android 11系统上,将后台定位权限又做了一次调整。
argetSdkVersion=android11 时,不能同时申请普通定位权限和后台定位权限。
只有成功申请了 普通定位权限,才能申请后台定位权限。
1、直接申请后台定位权限,将不弹窗直接授权失败。
2、同时申请,普通定位权限和后台定位权限,将不会弹窗,直接授权失败
四、直播系统开发时不同厂商区别
在上面已经讲述了对于不同的安卓版本,申请权限时的区别,这里主要讲述对于不同的手机厂商,申请权限的区别,使用的安卓版本都比较新,都是安卓12版本。
4.1 华为鸿蒙系统
对于华为手机,直接申请网络定位或GPS定位即可,不需要考虑后台权限。华为定位权限只有【仅使用期间】和【始终允许】,所以直接申请就可以了。给了始终允许就代表有了后台定位权限。
1、单独申请ACCESS_COARSE_LOCATION,或者ACCESS_FINE_LOCATION,同时申请,都可以弹出弹窗。
2、不要单独申请后台定位,单独申请不会弹窗,直接授权失败。
3、弹窗点击禁止后,后续继续申请不会弹窗,直接授权失败,需要到系统中去设置。
4.2 小米手机
小米手机必须要先申请前台定位,只有在有了前台定位权限的情况下,才能去申请后台定位。两次申请都会有弹窗。
4.3 OPPO
必须要先申请前台定位,授权以后才能申请后台定位。并且申请后台定位的弹窗也是引导到系统设置中去开启后台定位。
4.4 VIVO
和OPPO一样,必须要先申请前台定位,授权以后才能申请后台定位。并且申请后台定位的弹窗也是引导到系统设置中去开启后台定位。
参考
Android R 11 后台定位权限没有 始终允许选项的解决方法
android定位权限适配看这篇就够了
以上就是 直播系统开发时如何开启定位权限,更多内容欢迎关注之后的文章。