扇贝单词在 安卓 7.0 的“特性”,不知道有没有人遇到过

2017-06-15 21:36:32 +08:00
 AlwaysBehave

我瞬间懵逼了,这么高大上的安卓“特性”我第一次知道,也不知道该后面怎么回复,求解

5394 次点击
所在节点    全球工单系统
29 条回复
honeycomb
2017-06-15 21:54:48 +08:00
1,这不是莫名其妙的特性,而是这个应用滥用前台服务(作为推送的保活措施),并且恶意地试图隐藏前台服务必须要显示的持久通知导致的问题。从 Android7.1(AOSP)开始这个漏洞被修复。Android O DP3 则另增加了一个通知流,会另行显示所有使用前台服务的应用(和应用自身强制需要显示的通知共存)。

2,修复了这个 bug 的改动出现在 Android 7.1
具体的出处:
https://android.googlesource.com/platform/frameworks/base/+/0ba4c71%5E!/

3,请到这个地方去吐槽,Google 官方认为 O 新增的后台限制(这部分的代码,以及 AppOps 也是这个 Dianne Hackborn 写的)应当可以通过前台服务绕过。
kamen
2017-06-15 21:56:58 +08:00
一楼完美解答
honeycomb
2017-06-15 22:02:11 +08:00
@AlwaysBehave

#1 的 issuetracker 链接忘记填上了,是这个:

issuetracker.google.com/issues/62480012
AlwaysBehave
2017-06-15 22:17:08 +08:00
@honeycomb 😯 所以这样还是算滥用?
我的”特性“加了引号是认为扇贝这样子做是有问题,但是官方现在这个回复大概意思算是“ won't fix"吧。
bug fix 倒是第一次被科普,多谢
他的通知倒是没有什么垃圾内容(目前只是提醒打卡,确实有用)。只是一直占在那里倒是很烦 Orz
AirSc
2017-06-15 22:22:45 +08:00
不是可以隐藏通知吗?
AlwaysBehave
2017-06-15 22:24:31 +08:00
@AirSc 我想保留他的每日打卡提醒……有的时候会忘记打卡
Cavolo
2017-06-15 23:10:14 +08:00
@AlwaysBehave 可以设置微信提醒,然后把 app kill 掉就行
honeycomb
2017-06-15 23:46:23 +08:00
@AlwaysBehave
滥用的理由是这样:

最初前台服务就是被设计成,使用时必须展示一个持久通知,以确保用户知晓这个应用正在持续运行。
前台服务被视作类似于可见的 Activity 这样有高优先级的对象,不会被杀,不会受到后台网络限制 /电池优化 /doze 等影响

但是它的实现有 bug,应用可以用这个方法绕过:
1,建立两个通知编号相同的前台 service
2,关掉其中一个 service,另一个 service 就能保持前台,但不会显示通知

使用这个方法,应用就可以绕开 Android 上花了大力气建立的各种优化电池消耗的的努力,所以说是恶意的。

我对 Android 开发组不满的地方,在于它们的态度消极,给出的方案(包括 O 新增的后台服务限制)不能解决问题。
但是不能指望它们会像 iOS 那样想尽办法保护用户隐私(这次 2 比特持久识别码和 Safari 和别人实现方法都不一样的跟踪妨碍简直是神来之笔)。
AlwaysBehave
2017-06-16 00:17:08 +08:00
@Cavolo 诶也是,多谢提醒
AlwaysBehave
2017-06-16 00:27:19 +08:00
@honeycomb 官方对于前台服务滥用其实并没有更多举动反而是花大力气限制后台,使得实际上下大力气做的改善并没有什么用。那也就是说如果应用仍然恶意利用前台现在唯一的办法就是扔冰箱或者上守护之类的玩意咯。(当然现在有个通知告诉你应用在跑着
KNOX
2017-06-16 00:38:14 +08:00
今年的 IO 上有人问到这个问题,Android 开发组的回答给予用户更多知情权,虽然目前的解决办法很暴力,不过仍在优化中。
ssynhtn
2017-06-16 01:55:55 +08:00
有道词典也是这样
之前京东有个版本也这样,后来更新了就好了,不知道是用了什么更强的黑科技,还是说妥协了
ghost444
2017-06-16 06:40:55 +08:00
来用墨墨背单词吧,虽然词库比较小专业词汇找不到但是一般还是够用的,Android 版简直良心
kn007
2017-06-16 08:26:16 +08:00
我是不需要它提醒,然后直接绿色守护。。。
honeycomb
2017-06-16 08:57:02 +08:00
@AlwaysBehave
目前为止只能这样了
missdeer
2017-06-16 09:03:49 +08:00
@ghost444 墨墨背单词免费版单词上限才 600 个。。。谁特么目标单词量才 600 啊。。。虽然每日签到分享可以加上限,但也是杯水车薪。。。
RoundCat
2017-06-16 09:08:13 +08:00
很久之前就有,反馈后只是回复已收到,然而。。等了一个月还是老样子,然后就卸载了
xingda920813
2017-06-16 09:12:52 +08:00
@honeycomb 好消息,现在已经标为 Fixed 了。
580a388da131
2017-06-16 09:16:28 +08:00
国内好多应用都有这玩意
singlepig
2017-06-16 09:29:57 +08:00
手机 QQ 的某个版本也是用了 @honeycomb 8#说的方法,隐藏了通知,结果我在 7.1.1 上遇到了 QQ 显示一个黑色通知栏的问题,里面啥东西也没有,漆黑一片。

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

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

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

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

© 2021 V2EX