应用关闭时启动服务

时间:2017-03-30 14:14:31

标签: android service

当我按下主页按钮或只是按下(当应用程序在后台但未被杀死时)我想启动服务 我怎么能做一个检查的功能? 感谢所有

4 个答案:

答案 0 :(得分:0)

使用Foreground方法和startForeground()标记使用START_STICKY服务。简而言之,您必须对用户说'我的应用仍在使用'。

或者其他实现是使用AlarmManager,如果您想为将来收取任务费用。

答案 1 :(得分:0)

当您的应用处于后台时,您可以实施Application.ActivityLifecycleCallbacks并将其附加到您的应用中。这是Foreground example

答案 2 :(得分:0)

您需要BaseActivity,所有其他活动必须扩展此BaseActivity:

正如@Shoad所说,但触发的方法是

    public class BaseActivity extends Activity {
     @Override
    protected void onPause() {

//Start Service or do what you want

    }
    }

无法成功发表评论

答案 3 :(得分:-1)

您需要BaseActivity,并且所有活动必须超出此BaseActivity:

public class BaseActivity extends Activity {
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_HOME) {
        startService(new Intent(this, AService.class));
        //maybe you need check the AService is running here```
    }
    return super.onKeyDown(keyCode, event);
}
}