Android: 保留网络服务器 运行
Android: keep web server running
我是 运行 Android 服务中的 Web 服务器 (NanoHTTPD)。
onStartCommand() returns 服务中重写方法的值,所以它应该是 "sticky".
但是服务似乎停止了,或者至少网络服务器停止了响应。这主要发生在设备处于非活动状态一段时间且屏幕关闭时。但有时看起来 运行 正常。一直显示服务的通知图标
设备未执行任何其他操作,并且已接通电源。
如何使 Web 服务器保持对请求的响应?或者至少减少中断频率?
在你的情况下,不被系统杀死的最佳机会:
- 通过startForeground
启动服务
- 提示您的用户将您的应用包含在 "ignore battery optimizations" 列表中(您不能以编程方式执行此操作):
Intent intent = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
startActivity(intent);
我是 运行 Android 服务中的 Web 服务器 (NanoHTTPD)。
onStartCommand() returns 服务中重写方法的值,所以它应该是 "sticky".
但是服务似乎停止了,或者至少网络服务器停止了响应。这主要发生在设备处于非活动状态一段时间且屏幕关闭时。但有时看起来 运行 正常。一直显示服务的通知图标
设备未执行任何其他操作,并且已接通电源。
如何使 Web 服务器保持对请求的响应?或者至少减少中断频率?
在你的情况下,不被系统杀死的最佳机会:
- 通过startForeground 启动服务
- 提示您的用户将您的应用包含在 "ignore battery optimizations" 列表中(您不能以编程方式执行此操作):
Intent intent = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS); startActivity(intent);