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

This commit is contained in:
kunfei
2022-05-06 20:46:19 +08:00
parent 254a216e8a
commit fc2bbc4a96
3 changed files with 12 additions and 7 deletions

View File

@@ -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)
}
}

View File

@@ -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, "")
}

View File

@@ -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 {