Registering
V2EX  ›  Android

关于 service 和开机自启动

  •  
  •   Registering · Oct 14, 2015 · 13485 views
    This topic created in 3896 days ago, the information mentioned may be changed or developed.

    我通过 startService 的方式启动一个 service ,并且 onStartCommand 方法中返回 START_STICKY ,这样的意图是让 app 退出后 service 可以重生继续运行。

    相信上面这个场景对大家来说,很简单也很常见,我在三星手机上测试正常,但是在魅族手机上测试发现, app 退出后, service 并没重生。

    所以,

    我的第一个问题就是

    startservice 如何保证在所有手机上都可以一直运行下去,被杀死之后还能自动重生。(上网查貌似与android:installLocation="auto"有关,但是尝试之后并没效果)

    为了解决上面这个问题,我又尝试了如下方案,注册一个开机启动的 broadcastReceiver ,一开机就在这个接收器中接收开机广播,然后在这个接收器中 start service ,这也是我们常常用到的开机自启动,但是部分机型是这样的(比如魅族),它屏蔽了开机自启动,需要你手动到设置页面去开启该应用的开机自启动。

    我的第二个问题

    部分手机需要手动开启自启动,怎么破

    11 replies    2015-10-20 17:17:32 +08:00
    sparanoid
        1
    sparanoid  
       Oct 14, 2015
    chenliang0571
        2
    chenliang0571  
       Oct 14, 2015
    2. 提示用户某些功能需要开启自启动,选择权交给用户。
    miclushine
        3
    miclushine  
       Oct 14, 2015
    每个厂商的手机都会修改 AOSP 的一些功能的,只能多测试,然后针对机器主动提示用户开机自启动之类的。
    stdying
        4
    stdying  
       Oct 14, 2015
    设置成前台 service ,会更好些
    cxe2v
        5
    cxe2v  
       Oct 14, 2015
    你要做这个恶心的功能做什么?搞监控吗?
    kyze8439690
        6
    kyze8439690  
       Oct 14, 2015
    前台显示 1 像素透明点,呵呵,不过这个又是新的权限了。
    allan1st
        7
    allan1st  
       Oct 14, 2015
    用 GCM 即可。
    kx5d62Jn1J9MjoXP
        8
    kx5d62Jn1J9MjoXP  
       Oct 14, 2015
    对于那些需要手动开启自启动的手机只能放弃了。
    如果你的 app 不需要开机启动也能满足魅族用户的需求,那么正好。
    如果你的 app 无法开机启动会导致功能缺失,比如无法及时收取后台消息,那么就让魅族用户自己决定是允许开机启动还是使用一个功能缺失的 app 吧。
    Jocky1
        9
    Jocky1  
       Oct 14, 2015
    @kyze8439690 qq 吗?
    bqbkbz
        10
    bqbkbz  
       Oct 15, 2015
    魅族自带绿色守护功能
    testex
        11
    testex  
       Oct 20, 2015
    有流氓的心没流氓的技术
    呵呵
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2687 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 05:02 · PVG 13:02 · LAX 22:02 · JFK 01:02
    ♥ Do have faith in what you're doing.