当我按下主页按钮或只是按下(当应用程序在后台但未被杀死时)我想启动服务 我怎么能做一个检查的功能? 感谢所有
答案 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);
}
}