V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wuxiao2522
V2EX  ›  Android

为了让 APP 及时推送通知,不能清后台?

  •  
  •   wuxiao2522 · 2017-02-09 10:25:48 +08:00 · 29307 次点击
    这是一个创建于 2856 天前的主题,其中的信息可能已经有所发展或是发生改变。
    刚从 IOS 换到安卓 7.0 (华为 P9 PLUS ),自带的“手机管家” APP 里面有“自启管理”和“锁屏清理应用”两个功能,为了保证有些应用能及时推送通知,必须不清理此类 APP 才能及时通知(就算不清理,有些时候也不通知)。我想换回 IOS 了,就算删除后台卡片,推送也正常(真爽)!为了让 APP 推送通知就一直让他后台运行,耗电不说,还耗资源呀,还去启动其它应用。。。怀恋 IOS 的推送机制了!
    第 1 条附言  ·  2017-02-09 13:27:41 +08:00
    真闹心,我要出了这手机,继续入 iPhone !
    118 条回复    2017-03-13 08:51:20 +08:00
    1  2  
    imlonghao673
        101
    imlonghao673  
       2017-02-10 23:23:42 +08:00 via Android
    睡觉前 100
    起床 60
    xiandao7997
        102
    xiandao7997  
       2017-02-10 23:30:19 +08:00 via iPhone
    启动其他应用…用手机自带的自启管理就行了
    kitalphaj
        103
    kitalphaj  
       2017-02-11 08:58:43 +08:00   ❤️ 1
    @finab 这里面唯一可以让 app 启动的就是 VOIP ,而一般的 app 开了这个 VOIP 后是通不过审核的。你说的那个方式,如果用户强杀程序后是没用的,仔细看看文档。 https://developer.apple.com/reference/uikit/uiapplicationdelegate/1623013-application 这个问题已经不是头一天了,这么多年都这样你跟我说这个。。。而且你至少试一试再说好吗,这个问题我自己开发中都遇到好几次了,真是服了
    finab
        104
    finab  
       2017-02-11 09:24:52 +08:00
    @kitalphaj 我只是说可以,没有说用户 “ force-quit ” 程序后可以。 就算用户强退程序,而 “ relaunch your app or restart the device ” 后,又可以通过这种方式唤醒不是么?除非用户把 app 挨个 “ force-quit ”。 我说的是一种通常情况下会怎么处理(毕竟把所有 APP “ force-quit ”是少数吧?,而你却说一种特殊情况(点开再关闭可是很麻烦,不是么?


    the system calls this method when your app is running in the foreground or background. In addition, if you enabled the remote notifications background mode, the system launches your app (or wakes it from the suspended state) and puts it in the background state when a remote notification arrives. However, the system does not automatically launch your app if the user has force-quit it. In that situation, the user must relaunch your app or restart the device before the system attempts to launch your app automatically again.
    finab
        105
    finab  
       2017-02-11 09:32:25 +08:00   ❤️ 1
    @kitalphaj 看来我们没在讨论同一个问题,咱就此为止吧,如果对你有冒犯还请谅解~
    0987363
        106
    0987363  
       2017-02-11 10:25:17 +08:00
    @paranoiagu 国内手机杀后台的不好说。。
    roadna
        107
    roadna  
       2017-02-11 13:02:14 +08:00 via Android
    是不是 iphone 用户都习惯不清除下拉通知栏里的通知啊?我看身边的朋友大都如此(无冒犯之意)
    skylancer
        108
    skylancer  
       2017-02-11 15:31:47 +08:00 via Android
    @morethansean 我实在不想拿墙外的耗电记录来打脸
    skylancer
        109
    skylancer  
       2017-02-11 15:33:48 +08:00 via Android
    @finab 走 VOIP 推送需要应用本身具有 VOIP 功能,不然审核时直接会被拒,虽然这个通道是能拉起应用,但审核其实蛮严的
    wavingclear
        110
    wavingclear  
       2017-02-11 16:28:28 +08:00 via iPad
    只长开微信,最多开邮箱加 QQ 的路过。

    推送是个典型的互联网公地问题。
    都说 GFW 的锅,国内安卓开发者们不会自己出钱架一个替代 GCM 的服务啊。
    谁给负责集体推送的服务器费用买单?交给赢利组织管理,谁能保证不去侵害用户体验?
    都知道基础服务不挣钱。在谷歌有信心在国内成功推广自己的相册新闻书报亭全家桶前,估计谷歌乐的看着国内这群人被墙,你看谷歌广告服务器怎么就能在国内连上呢。

    国内安卓开发者里最有资格领头的大概是微信,只可惜张小龙人家信仰乔布斯。
    morethansean
        111
    morethansean  
       2017-02-11 16:28:33 +08:00
    @skylancer 你在说啥?墙外 play service 耗电过高?大兄弟,你有墙外耗电过高我还有墙外连列表里都不出现呢。退一万步,人家那么多人墙内都没这么高你有什么好说的啊?我 6S 还能给你截出来耗电列表里啥都没有很正常一个小时掉 30%呢……抓着一个个例有什么好说的?墙外随便找个手机 play service 动不动就 40% 耗电还要不要卖手机了?当消费者是傻的?真是看不惯你口气,回答问题也不对着点子上只在那里说自己没说错是对的然后酸里酸气还要打脸,都不知道你在打谁……直接 b 了你慢慢回复吧。
    skylancer
        112
    skylancer  
       2017-02-11 16:55:29 +08:00 via Android
    @morethansean 笑死我了,你哪来的信心说墙外 Play Service 不耗电的, xda 那么多人说 Play Service 耗电不知道你眼睛是不是瞎了看不到,我说了我也能截图给你看,也能告诉你这不是个例,别搞笑了,逗
    BROWNURSIDAE
        113
    BROWNURSIDAE  
       2017-02-11 20:39:08 +08:00 via Android
    @skylancer play service 耗电一般是 bug 出现的情况,其实他真的不耗电,你说的 xda 上很多人说耗电,因为他们出 bug 了。。。没出 bug 的发帖子干嘛 。。这出 bug 是玄学,平常真的不耗电好吧。。。你只看到有问题的帖子,而忽略了没问题不大帖子的人,你说哪个阵营人多,就好像你看贴吧,肯定是黑一样东西的人多一个道理(很久没看过贴吧不知道是不是这样)
    skylancer
        114
    skylancer  
       2017-02-11 22:28:16 +08:00 via Android
    @BROWNURSIDAE 我挺感兴趣的是这种所谓的 bug 为什么这么多年的迭代还是能出现,光是我自己已经遇到太多太多次,看着 50%睡一觉,就没了,这种用户体验真是爆炸
    skylancer
        115
    skylancer  
       2017-02-11 22:29:30 +08:00 via Android
    @BROWNURSIDAE 呐,顺带说一句, iOS 我黑的更凶,当然我是两者都在用
    GhostFlying
        116
    GhostFlying  
       2017-02-11 23:26:37 +08:00 via Android
    @skylancer 因为 Google 一直喜欢把 beta 版当 release 放出来啊 😅

    我这以前偶有,一般重启就好
    skylancer
        117
    skylancer  
       2017-02-12 01:27:16 +08:00 via Android
    @GhostFlying 虽然话是这么说,不过这是很郁闷的啊,经常是没更新也出这种问题,很醉
    heipidage007
        118
    heipidage007  
       2017-03-13 08:51:20 +08:00
    因为想治钉钉,所以搜到这个帖子。看到有人提及我开发的 gcmformojo 所以谈一下。
    本人纯属安卓开发新手,这也是我第一个应用,不成熟,不过对 gcm 的一些机制有了一些了解。
    gcm 没有被墙,这事我发现很久了,也在知乎酷安上说了好几次。即便部分地区被墙了,换个 hosts 就可以了。而且似乎现在谷歌 services 会自动选择能连的 ip 来使用 gcm (也就是说我 hosts 指定的 ip 不一定被用到)。
    gcm 现在叫做 fcm ,开发起来也很简单,分透传和自显示消息。透传消息的通知弹出需要自己写代码,可以自己随便处理数据。而自显通知,不需写代码,他会自己弹出一个通知。应用本身不需要后台服务,完全依靠谷歌服务来接受消息。来通知后是拉起应用还是打开啥应用,都可以在代码里自己写 intent 。透传消息的弹出是需要自己的代码里实现的。
    微信的 gcm 消息和 ios 的一样内容,只是目前在弹出通知这块没用上。今年可能会有些突破。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3560 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:47 · PVG 12:47 · LAX 20:47 · JFK 23:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.