小编Mar*_*zak的帖子

为什么当设备进入睡眠模式时前台服务停止工作

我想创建一个不断检查位置变化并将当前位置放入 firebase 的应用程序(例如跑步者的应用程序)。

\n\n

不幸的是,每次设备进入睡眠模式时,前台服务都会停止或暂停。

\n\n

对于初学者,我想创建一个前台服务,每秒不断地将信息写入基础(这将是一个时间戳或一个简单的字符串)。\n一段时间后,它只是停止写入 firebase 而不调用 stopself()。

\n\n

该服务在模拟器上运行良好(即使处于睡眠状态),但在真实设备 \xe2\x80\x93 上测试时停止(在我的情况下为华为,Android 8.1.0)。\n我应该做什么来强制服务运行在设备的每个状态下?

\n\n
My MainActivity: \n\npublic class MainActivity extends AppCompatActivity {\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n             Intent intent = new Intent(this, MyService.class);\n            intent.putExtra("action", "start");\n            startForegroundService(intent);\n        }\n        else {\n             Intent intent = new Intent(this, MyService.class);\n            intent.putExtra("action", "start");\n            startService(intent);\n        }\n    }\n\n    @Override\n    protected void onDestroy() {\n        super.onDestroy();\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n            Intent intent = new Intent(this, MyService.class);\n            intent.putExtra("action", "stop");\n            startForegroundService(intent);\n …
Run Code Online (Sandbox Code Playgroud)

java android foreground-service

5
推荐指数
1
解决办法
3197
查看次数

标签 统计

android ×1

foreground-service ×1

java ×1