我在 Android 服务中运行网络服务器 (NanoHTTPD)。
onStartCommand() 返回服务中重写方法的值,因此它应该是“粘性的”。
但是服务似乎停止了,或者至少网络服务器停止了响应。这主要发生在设备处于非 Activity 状态一段时间且屏幕关闭时。但有时当它看似正常运行时。该服务的通知图标一直显示。
设备没有做任何其他事情,并且已插入电源。
可以做些什么来保持网络服务器响应请求?或者至少减少中断频率?
最佳答案
在您的案例中,不被系统杀死的最佳机会:
- 通过 startForeground 启动服务
- 提示您的用户将您的应用包含在“忽略电池优化”列表中(您不能以编程方式执行此操作):
Intent intent = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS); 启动 Activity ( Intent );
关于Android:保持网络服务器运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44041359/