Android:保持网络服务器运行

标签 android android-service nanohttpd

我在 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/

相关文章:

Android WebView XMLHttpRequest Keepalive

android - 如何以编程方式设置 scrollview 的 layoutMarginBottom

android - 运行 adb shell 命令时需要 :android. 权限。WRITE_SECURE_SETTINGS

android - 从 Thread.UncaughtExceptionHandler 启动服务?

android - NanoHTTPD 如何将上传的文件保存到 sdcard 文件夹

java - 理解字段访问表达式

android - 使用传感器数据更新前台服务通知

Android JavaCV FFmpeg webstream 到本地静态网站

android - 如何在 Android 中使用最新的 NanoHTTPD 2.3.0 提供 mp3 文件?

android - AudioRecord 缓冲区如何工作/如何使用它