被安卓恶心到了(准确来说是安卓 App 开发者)

2023-12-26 09:02:49 +08:00
 sodulty
被安卓恶心到了

准确来说是无奈的呐喊。先说两点我遇到的情况吧

1 、 在用小米 14 ,12306 申请临时身份证的时候,死活获取不到定位(此功能强制需要 否则无法申请),关机重启尝试 n 次均不行,已改签。。。。然后我发现只打开定位不够,必须同时打开 Wi-Fi 才能获取到定位

2 、有在自己开发低功耗蓝牙设备,用了不少安卓 BLE 调试 app , 发现部分 18-20 年的安卓手机无法在仅开启蓝牙的情况下扫描 BLE ,必须打开定位和蓝牙才能扫描到蓝牙 BLE

懂技术的前提下能摸索清楚,1 这个情况要是家人等等大众碰到的时候干着急怎么办? 12306 也不给提示,你就算给个“请打开 Wi-Fi 和蓝牙来辅助精确定位”的提示也行啊,纯傻逼,扛得起国民级出行 App 这个担子就要扛得住骂


但果子从来没出现类似的情况,为什么?

1 、 果子不给你完全关闭 Wi-Fi 蓝牙定位的快捷方式,(一般都置灰)缺点是耗电,优点是不影响各种服务,不想给精确定位也能模糊定位,安卓端的模糊定位反而会引起部分 app 定位失效或崩溃

2 、安卓很灵活能控制中心完全关闭定位蓝牙 Wi-Fi ,但是 app 开发者无法针对众多安卓版本的权限做全适配处理(安卓低版本和高版本的定位、连接附近设备的权限需要分开单独做处理),也没有及时通知用户,就会导致我以上遇到的情况
18864 次点击
所在节点    Android
81 条回复
JimmyYan2019
2023-12-26 09:07:24 +08:00
所以安卓想好好的用,就得频繁换流行机器,不然开发者不给你单独适配,用起来很糟心,还有它要什么权限就给它,鬼知道没给它会引起什么问题。
edwardhodges
2023-12-26 09:09:05 +08:00
安卓奇葩问题太多,没有那么多手机根本适配不过来。使用 BLE 必须打开定位这个系统要求的,但是不是每个机型和系统都是这样,很奇葩,没办法。
q503315508
2023-12-26 09:11:50 +08:00
2 应该不是开发者背锅了,android 是这么设计的,即使是现在开了 BLUETOOTH_SCAN 权限,不申请定位权限也扫不到全部设备(应该是标准协议下的信标设备),比如 ibeacon
sodulty
2023-12-26 09:11:59 +08:00
@edwardhodges 并不是,我自己写的 BLE 调试工具就不用定位权限
sodulty
2023-12-26 09:16:05 +08:00
@q503315508 对 翻了下是这样的,但绝大多数 app 不给提示,导致使用者怀疑人生
yolee599
2023-12-26 09:18:00 +08:00
@q503315508 #5 就是开发者的锅,开发者应该给用户提示开启定位,否则让用户去猜?
laommmm
2023-12-26 09:22:20 +08:00
小米的 BUG ,让我刚回来用小米的时候怀疑人生,仿佛第一次认识小米一样。
ochatokori
2023-12-26 09:23:03 +08:00
开发者和安卓 37 分锅
corcre
2023-12-26 09:30:15 +08:00
咸鱼上买了个米家的扫地机器人一代, 抽风的时候就需要重连设置一下, 然后发现怎么样都连不上, 试了半天发现需要打开 gps 的精确定位, 模糊定位不行...你 tm 一个扫地机器人, 自己发的 wifi 我都连上了告诉我找不到这台扫地机器人????还需要一个精确定位?难道扫地机器人里面还有 gps 模块的吗
Sosocould
2023-12-26 09:30:24 +08:00
啊这……po 主你纯粹是给 12306 恶心到而已,和 Android 以及 Android 开发者关系都不大,不就是一个 12306 没给够用户指引的问题吗。12306 地位超然物外,覆盖群体又格外庞大,中外也没几家这样的企业。以前 12306 买票还要安装自签的根证书呢,怪不到 Win 头上来。
nothingistrue
2023-12-26 09:32:41 +08:00
1 的锅明显要 12306 背,跟操作系统就没关系。2 没锅,软件本来这样四处漏风的,果子那种才不是大众。
debuggerx
2023-12-26 09:37:18 +08:00
恶心的是,定位关闭导致扫不到 ble 设备只在部分手机上出现,而且程序捕获不到异常,可以认为是对开发不可知。我也是做 ble 项目的时候,自己开发测试没问题,但是客户就是说扫不到,三星、红米、华为都有部分机型用户报告,网上搜这个问题,也没有一个准确判断哪些机型会出问题的办法。
所以为了不影响没问题的用户,我最后只能是在检查完一切权限没问题之后,调用 scan 方法的同时起一个计时器,超过 3 秒没有扫到任何设备就弹窗引导用户去打开 GPS 开关……毕竟如果强制要所有用户都必须打开定位开关才能用,某些人又要质疑凭什么了。
tool2d
2023-12-26 09:37:32 +08:00
不一定是 12306 的锅,也有可能一开始没用 wifi 定位,只用了 gps 高精度定位。

问题在于,在火车站室内你也找不到 3 个以上的卫星信号,于是就一直卡住。

你如果同时打开了 wifi ,那定位方法就不走 GPS 了,肯定是秒定位了。
qyning
2023-12-26 09:40:56 +08:00
@corcre 不给精准定位手机获取不了已连接 WIFI ,这个扫地机配置应该是要连接扫地机热点,APP 需要知道你是否已经连接对应热点,之后发送 WIFI 和密码给扫地机联网。
Kamiyu0087
2023-12-26 09:41:06 +08:00
@debuggerx 这个跟 Android 版本有关吧
印象中 9 开始就需要打开 GPS 了,之前的不需要
sodulty
2023-12-26 09:41:18 +08:00
@Sosocould 骂归骂,如果所有人都不发声,开发者不指引,到头来不还是用户莫名其妙的被恶心? 这个帖子我希望越多的人看到越好,相关开发者应该自我反省
vcn8yjOogEL
2023-12-26 09:41:23 +08:00
标准的 WiFi 和蓝牙扫描 API 不需要打开对应功能, 会自动调用
Sosocould
2023-12-26 09:42:29 +08:00
@sodulty 在 12306 ,开发者没有什么话语权
edwardhodges
2023-12-26 09:42:35 +08:00
@sodulty 是部分机型和系统,你不给定位权限,可以正常扫描,但是不会扫描出任何设备。
hokori
2023-12-26 09:43:13 +08:00
开发者的锅 测试没发现这个问题 发现问题的话,申请下定位和 wifi

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1003401

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX