V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
haiyan
V2EX  ›  问与答

安卓奇怪的问题,连接蓝牙设备必须允许定位功能

  •  
  •   haiyan · 2017-11-02 17:01:30 +08:00 · 3821 次点击
    这是一个创建于 2360 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们公司开发蓝牙设备,在安卓版本 6.0 以上,必须要允许定位功能,才能连接成功。谷歌官方好像有说明,但是对于客户来说,不可思议。我不是做安卓开发的,请问大家有遇到这样的情况,并且是怎么解决的呢?

    9 条回复    2017-11-03 09:15:21 +08:00
    Havee
        1
    Havee  
       2017-11-02 17:45:19 +08:00
    室内定位......
    hn
        2
    hn  
       2017-11-02 17:48:42 +08:00 via Android
    杀个 Android 程序员祭天…
    phy25
        3
    phy25  
       2017-11-02 19:47:07 +08:00 via Android
    连 BLE 就是这样,可能是 Android 认为 BLE 包括了 iBeacon 类设备,属于敏感的位置数据?总之大家都绕不开的应该。
    Asshasahole
        4
    Asshasahole  
       2017-11-02 20:44:18 +08:00 via iPhone
    贵公司的耳机用的是 BLE 吗?应该不是吧。
    正如 3 楼所说,BLE 因为之前更多用于和 beacon 类产品交互,被定义为精确定位方式,但是现在 beacon 半死不活,BLE 都用在其他方面了,感觉仍然定义为精确定位方式不是很合适了。
    现在部分安卓手机在不打开定位的情况下无法正常使用 BLE,经典蓝牙倒不太清楚。苹果没有这种现象。
    haiyan
        5
    haiyan  
    OP
       2017-11-02 22:38:45 +08:00
    @Asshasahole 是 BLE,苹果的是正常的,安卓工程师已经被折磨死
    phy25
        6
    phy25  
       2017-11-03 00:54:56 +08:00 via Android
    其实解决方案也简单,就是先检测系统权限,然后连续弹框动态请求位置权限和打开蓝牙就好(弹窗可以连按,体验还算流畅),打开之后一般用户也不至于再把位置关了,也就不会动不动再弹窗要权限了。
    至于说用户不理解?弹窗前提示是系统限制就好咯,能不理解的用户自己查一查就会发现的确是这样子。
    phy25
        7
    phy25  
       2017-11-03 01:04:48 +08:00 via Android
    honeycomb
        8
    honeycomb  
       2017-11-03 03:17:22 +08:00 via Android
    这是很现实的:

    如果应用需要连接附近的蓝牙设备,那么它就需要能知道附近有哪些蓝牙设备。

    而知道了附近有哪些蓝牙设备等同于获得了可以提取出当前位置的数据。

    同理,能进行 WiFi scan 的应用也需要定位权限,未来没有定位权限的应用可能无法获知已经连接着的 WiFi 热点的 ssid/bssid,因为大数据的缘故,单个 bssid 足以提供相当精确的定位了。

    所以是你的客户需要理解。
    haiyan
        9
    haiyan  
    OP
       2017-11-03 09:15:21 +08:00
    @phy25 三星还是小米的系统也很变态啊,如果第一次请求这个权限不通过,下次再在应用中请求,就算用户点允许,也是无效的,只能通过设置里面去允许
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2292 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 122ms · UTC 00:48 · PVG 08:48 · LAX 17:48 · JFK 20:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.