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

186 天前
 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 开发者无法针对众多安卓版本的权限做全适配处理(安卓低版本和高版本的定位、连接附近设备的权限需要分开单独做处理),也没有及时通知用户,就会导致我以上遇到的情况
12419 次点击
所在节点    Android
81 条回复
debuggerx
186 天前
@Kamiyu0087 你在网上搜,有人碰到 6.0 系统就有这个问题了……再看这个“总结”,实际上也只是部分样本,没法准确判断: https://www.dandelioncloud.cn/article/details/1610809860885266433
sodulty
186 天前
@tool2d 观点合理。但就是 12306 开发者的锅没得说,用户不需要知道获取定位背后的技术实现,只要知道用这个功能需要打开 Wi-Fi 开关
godmiracle
186 天前
还好俺安卓只用来打游戏和装个工作微信。
forgottencoast
186 天前
@corcre
iOS 也是这样,要共享 Wifi 密码给 app 就必须开精确定位,我也是被坑了很久才发现。
sodulty
186 天前
@edwardhodges 验证了下 是的。感谢
q503315508
186 天前
@yolee599 哦哦 没引导和提示 那确实是做的有问题 。应该做好引导 并 提示权限用途
icyalala
186 天前
扫描蓝牙和 beacons 之类的设备,本身就相当于暴露用户的位置了吧,所以需要申请位置权限告知用户被定位?
heIIokitty
186 天前
这一看就是 12306 测试那边的锅,这个问题,不应该在测试用例里面包含吗?难道,他们的测试用例,都是全部权限开启的情况下进行测试?正常点的测试,应该都不会这样干吧,至少会把权限都关闭了,再进行测试。
fredweili
186 天前
所以普通用户就是权限全开,予取予求
greenskinmonster
186 天前
@sodulty #22 同意 tool2d 的说法, 感觉不应该是 app 的责任,app 问系统要位置信息,系统无论根据网络还是 GPS 还是基站定位,都不是 app 能控制的,app 只要提示你无法获取的有效位置信息即可,至于你要去室外开阔区域,还是开无线、蓝牙、手机网络,那是你应该处理的事情。
CFM880
186 天前
一般这种,我们会建议卸载重装 App ,肯定第一次会申请权限,如果用户之前明确拒绝后,不再申请或提示
Recle
186 天前
安卓这十年,太恶心人了,刷机刷到最后,换了 iPhone ,自此省心多了
huhalo
186 天前
安卓应用获取定位分两种,一种是大略位置,一种是精确位置,如果应用申请精确位置,就需要打开 WiFi 和蓝牙
HomeZane
186 天前
@tool2d 感觉是这个问题,刚刚把 wifi 关了,测试了下,没啥问题,可以直接申请。
ssnoopy
186 天前
确实是他的锅,等应用升 target33 就好了
kaedea
186 天前
没什么问题,Android Fused 定位最佳实践本来就是个复杂的话,我相信没开 WiFi 定位异常的时候,WiFiInfo 肯定一堆异常被 catch 了,然而这事也怨不得 App 开发者,锅出在 mapsdk 现在许多 sdk 都以开箱即用作为卖点宣传,结果就是傻快而已。
kaedea
186 天前
@huhalo 没错,不过后者应该引导打开 WiFi/蓝牙的。不清楚 iOS 这方面怎么处理,iOS 混合定位难道不需要用户授权?
Lin0936
186 天前
Android 的大多数开发者都把用户当开发者,不考虑正常用户场景的。
ssnoopy
186 天前
@kaedea 首先我不是 mapsdk 开发者,我认为这种错误肯定要抛出来或者自己给与通用 Ui 提示,否则,太糊弄事了
littiefish
186 天前
用过不少摄像头,遇到一样的问题,基本所有的 APP 绑定摄像头时必须开定位,要不邦定一定失败,有些会提示,有些 TM 没任何提示。

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

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

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

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

© 2021 V2EX