当屏幕关闭时,WiFi getRssi停止工作

时间:2017-09-28 00:34:35

标签: android android-wifi android-wake-lock

我正在创建一个具有后台服务的应用程序,该服务使用getRssi()方法不断获取WiFi RSSI,并根据值决定应该执行的操作。

服务运行正常,但是,当屏幕被锁定时,服务会停止更新RSSI的值,相反,它会在锁定屏幕之前卡住最后读取的值。

我试着拿着partial WakeLock,但不幸的是它没有效果。

在服务的OnStartCommand中,我添加了唤醒锁,如下所示:

wifi =(WifiManager)getApplicationContext().getSystemService(WIFI_SERVICE);
    PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
            PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"MyLock");
            wakeLock.acquire();
info = wifi.getConnectionInfo();
            RSSI = info.getRssi();
            System.out.println(RSSI);

我在清单中添加了唤醒锁权限:

<uses-permission android:name="android.permission.WAKE_LOCK" />

有没有人有类似的问题?

这背后的原因是什么?

0 个答案:

没有答案