diff --git a/app/src/main/java/io/legado/app/receiver/NetworkChangedReceiver.kt b/app/src/main/java/io/legado/app/receiver/NetworkChangedReceiver.kt index 9b00db17d..8c4f1db84 100644 --- a/app/src/main/java/io/legado/app/receiver/NetworkChangedReceiver.kt +++ b/app/src/main/java/io/legado/app/receiver/NetworkChangedReceiver.kt @@ -4,20 +4,22 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter +import android.net.ConnectivityManager /** * 监测网络变化 */ class NetworkChangedReceiver : BroadcastReceiver() { + var onReceiver: ((context: Context, intent: Intent) -> Unit)? = null + val filter = IntentFilter().apply { - addAction("android.net.conn.CONNECTIVITY_CHANGE") - addAction("android.net.wifi.WIFI_STATE_CHANGED") - addAction("android.net.wifi.STATE_CHANGE") + @Suppress("DEPRECATION") + addAction(ConnectivityManager.CONNECTIVITY_ACTION) } - override fun onReceive(context: Context?, intent: Intent?) { - + override fun onReceive(context: Context, intent: Intent) { + onReceiver?.invoke(context, intent) } } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/receiver/TimeBatteryReceiver.kt b/app/src/main/java/io/legado/app/receiver/TimeBatteryReceiver.kt index bd150d258..e6537d7b3 100644 --- a/app/src/main/java/io/legado/app/receiver/TimeBatteryReceiver.kt +++ b/app/src/main/java/io/legado/app/receiver/TimeBatteryReceiver.kt @@ -16,8 +16,8 @@ class TimeBatteryReceiver : BroadcastReceiver() { addAction(Intent.ACTION_BATTERY_CHANGED) } - override fun onReceive(context: Context?, intent: Intent?) { - when (intent?.action) { + override fun onReceive(context: Context, intent: Intent) { + when (intent.action) { Intent.ACTION_TIME_TICK -> { postEvent(EventBus.TIME_CHANGED, "") } diff --git a/app/src/main/java/io/legado/app/service/WebService.kt b/app/src/main/java/io/legado/app/service/WebService.kt index 3fa39a908..cd480a807 100644 --- a/app/src/main/java/io/legado/app/service/WebService.kt +++ b/app/src/main/java/io/legado/app/service/WebService.kt @@ -45,6 +45,9 @@ class WebService : BaseService() { upNotification() upTile(true) registerReceiver(networkChangedReceiver, networkChangedReceiver.filter) + networkChangedReceiver.onReceiver = { _, _ -> + upWebServer() + } } override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {