工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
AlwaysBehave

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

  •  1
     
  •   AlwaysBehave · Jun 15, 2017 · 6855 views
    This topic created in 3432 days ago, the information mentioned may be changed or developed.

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

    Supplement 1  ·  Jun 19, 2017
    扇贝官方回复说问题已经交给 Android 组处理,到时候再看看如何
    29 replies  •  2017-06-18 14:04:46 +08:00
    honeycomb
    honeycomb
    Jun 15, 2017❤️19
    1
    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
    kamen
    Jun 15, 2017
    2
    一楼完美解答
    honeycomb
    honeycomb
    Jun 15, 2017❤️1
    3
    @AlwaysBehave

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

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

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

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

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

    我对 Android 开发组不满的地方,在于它们的态度消极,给出的方案(包括 O 新增的后台服务限制)不能解决问题。
    但是不能指望它们会像 iOS 那样想尽办法保护用户隐私(这次 2 比特持久识别码和 Safari 和别人实现方法都不一样的跟踪妨碍简直是神来之笔)。
    AlwaysBehave
    AlwaysBehave
    OP
    Jun 16, 2017 via Android
    9
    @Cavolo 诶也是,多谢提醒
    AlwaysBehave
    AlwaysBehave
    OP
    Jun 16, 2017 via Android
    10
    @honeycomb 官方对于前台服务滥用其实并没有更多举动反而是花大力气限制后台,使得实际上下大力气做的改善并没有什么用。那也就是说如果应用仍然恶意利用前台现在唯一的办法就是扔冰箱或者上守护之类的玩意咯。(当然现在有个通知告诉你应用在跑着
    KNOX
    KNOX
    Jun 16, 2017 via Android
    11
    今年的 IO 上有人问到这个问题,Android 开发组的回答给予用户更多知情权,虽然目前的解决办法很暴力,不过仍在优化中。
    kx5d62Jn1J9MjoXP
    kx5d62Jn1J9MjoXP
    Jun 16, 2017 via Android
    12
    有道词典也是这样
    之前京东有个版本也这样,后来更新了就好了,不知道是用了什么更强的黑科技,还是说妥协了
    ghost444
    ghost444
    Jun 16, 2017 via Android
    13
    来用墨墨背单词吧,虽然词库比较小专业词汇找不到但是一般还是够用的,Android 版简直良心
    kn007
    kn007
    Jun 16, 2017
    14
    我是不需要它提醒,然后直接绿色守护。。。
    honeycomb
    honeycomb
    Jun 16, 2017 via Android
    15
    @AlwaysBehave
    目前为止只能这样了
    missdeer
    missdeer
    Jun 16, 2017
    16
    @ghost444 墨墨背单词免费版单词上限才 600 个。。。谁特么目标单词量才 600 啊。。。虽然每日签到分享可以加上限,但也是杯水车薪。。。
    RoundCat
    RoundCat
    Jun 16, 2017 via Android
    17
    很久之前就有,反馈后只是回复已收到,然而。。等了一个月还是老样子,然后就卸载了
    xingda920813
    xingda920813
    Jun 16, 2017
    18
    @honeycomb 好消息,现在已经标为 Fixed 了。
    580a388da131
    580a388da131
    Jun 16, 2017
    19
    国内好多应用都有这玩意
    singlepig
    singlepig
    Jun 16, 2017
    20
    手机 QQ 的某个版本也是用了 @honeycomb 8#说的方法,隐藏了通知,结果我在 7.1.1 上遇到了 QQ 显示一个黑色通知栏的问题,里面啥东西也没有,漆黑一片。
    manihome
    manihome
    Jun 16, 2017
    21
    我只想说我在扇贝写的反馈就没有回复过。。。买本书一个礼拜还没影、、、
    ghost444
    ghost444
    Jun 16, 2017 via Android
    22
    @missdeer 我现在免费额度有 1k4,背的单词才刚刚 1k 出头(捂脸
    而且难得碰到从应用到 ToS 都在内同行领先的 app,完全值得付费啊
    honeycomb
    honeycomb
    Jun 16, 2017 via Android
    23
    @singlepig
    确实是这样的,所以会吐槽 Google 不像 iOS 那样保护用户
    honeycomb
    honeycomb
    Jun 16, 2017
    24
    @xingda920813
    你提到的 fixed 解决的不是这个滥用前台服务问题。
    而应该是 RUN_IN_BACCKGROUND ignore 时,只终止了一个后台 service 的问题
    https://issuetracker.google.com/issues/37126419
    iluhcm
    iluhcm
    Jun 16, 2017❤️1
    25
    http://iluhcm.com/2017/03/12/experience-of-adapting-to-android-notifications/

    写过一篇文章里边有相关的体验,前台通知在 7.1.X 的机子上的确是会暴露出来。应该是用了某个推送 sdk 导致的。
    xingda920813
    xingda920813
    Jun 16, 2017
    26
    @honeycomb

    看来 Google 的决定就是如此, 绑定和前台服务不受影响. 滥用前台服务的 App, Google 似乎无法理解它们在中国是存在的.

    https://issuetracker.google.com/issues/37126421

    RUN_IN_BACKGROUND OP does not stop services when there are both foreground and background services.

    Status: Won't Fix (Intended Behavior)
    It is very much intentional that foreground services keep the app in the foreground so it is not prevented from running.
    zhouquanbest
    zhouquanbest
    Jun 16, 2017
    27
    这是个保活手段
    然而 因为目前 7.1 还比较少 很多无良厂商并没有在 7.0 上去掉该方式

    解决方法就是用 MyAndroidTool 手动 block 这个前台服务

    珍爱生命 远离国产无良 app
    Bryan0Z
    Bryan0Z
    Jun 18, 2017 via Android
    28
    说真的,扇贝模式很恶心人
    AlwaysBehave
    AlwaysBehave
    OP
    Jun 18, 2017
    29
    @Bryan0Z 你是指什么?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   646 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 21:46 · PVG 05:46 · LAX 13:46 · JFK 16:46
    ♥ Do have faith in what you're doing.