web服务监测网络变化,及时更新IP

This commit is contained in:
kunfei
2022-05-06 20:46:19 +08:00
parent 9757b2ca67
commit 7d214c1f8c
3 changed files with 12 additions and 7 deletions
@@ -4,20 +4,22 @@ import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.IntentFilter import android.content.IntentFilter
import android.net.ConnectivityManager
/** /**
* 监测网络变化 * 监测网络变化
*/ */
class NetworkChangedReceiver : BroadcastReceiver() { class NetworkChangedReceiver : BroadcastReceiver() {
var onReceiver: ((context: Context, intent: Intent) -> Unit)? = null
val filter = IntentFilter().apply { val filter = IntentFilter().apply {
addAction("android.net.conn.CONNECTIVITY_CHANGE") @Suppress("DEPRECATION")
addAction("android.net.wifi.WIFI_STATE_CHANGED") addAction(ConnectivityManager.CONNECTIVITY_ACTION)
addAction("android.net.wifi.STATE_CHANGE")
} }
override fun onReceive(context: Context?, intent: Intent?) { override fun onReceive(context: Context, intent: Intent) {
onReceiver?.invoke(context, intent)
} }
} }
@@ -16,8 +16,8 @@ class TimeBatteryReceiver : BroadcastReceiver() {
addAction(Intent.ACTION_BATTERY_CHANGED) addAction(Intent.ACTION_BATTERY_CHANGED)
} }
override fun onReceive(context: Context?, intent: Intent?) { override fun onReceive(context: Context, intent: Intent) {
when (intent?.action) { when (intent.action) {
Intent.ACTION_TIME_TICK -> { Intent.ACTION_TIME_TICK -> {
postEvent(EventBus.TIME_CHANGED, "") postEvent(EventBus.TIME_CHANGED, "")
} }
@@ -45,6 +45,9 @@ class WebService : BaseService() {
upNotification() upNotification()
upTile(true) upTile(true)
registerReceiver(networkChangedReceiver, networkChangedReceiver.filter) registerReceiver(networkChangedReceiver, networkChangedReceiver.filter)
networkChangedReceiver.onReceiver = { _, _ ->
upWebServer()
}
} }
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {