首页 > 解决方案 > 应用程序空闲时的android网络问题

问题描述

我尝试使用带有改造的 AlarmManager。例如,如果我在 1 小时后设置闹钟,应用程序会在 5 分钟后关闭屏幕,当时间到时,闹钟会被唤醒,但我遇到了 UnknownHost 异常。当应用程序在前台时,它正在工作。我是否必须在后台服务中进行心跳以维护网络状态?我在wifi和powermanager中都尝试了wakelock添加wakelock权限,但也得到了同样的错误。

我试过了

@SuppressLint("InvalidWakeLockTag")
fun acquireWakeLock(context: Context){  //App이 Idle일때 Wake하는 함수
    val wm = context.getSystemService(Context.WIFI_SERVICE) as WifiManager
    val wifiLock = wm.createWifiLock(WifiManager.WIFI_MODE_FULL_HIGH_PERF, "wifilock")
    val pm = context.getSystemService(Context.POWER_SERVICE) as PowerManager
    val wakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK
                                    or PowerManager.ACQUIRE_CAUSES_WAKEUP
                                    or PowerManager.ON_AFTER_RELEASE,"wakelock")
    if(!wifiLock.isHeld) wifiLock.acquire()
    if(!wakeLock.isHeld) wakeLock.acquire()
}

标签: android

解决方案


推荐阅读