gpt4 book ai didi

android - WakeLock under-locked exception 使用 cwac-locpoll

转载 作者:行者123 更新时间:2023-11-29 02:05:13 25 4
gpt4 key购买 nike

我正在使用 cwac-locpoll,它一直做得很好。但是,我的一些用户遇到了以下问题

java.lang.RuntimeException: WakeLock under-locked com.commonsware.cwac.locpoll.LocationPoller
at android.os.PowerManager$WakeLock.release(PowerManager.java:339)
at android.os.PowerManager$WakeLock.release(PowerManager.java:299)
at com.commonsware.cwac.locpoll.WakefulThread.onPostExecute(WakefulThread.java:59)
at com.commonsware.cwac.locpoll.LocationPollerService$PollerThread.onPostExecute(LocationPollerService.java:231)
at com.commonsware.cwac.locpoll.WakefulThread.run(WakefulThread.java:93)

这是我的 LocationReceiver 类,如您所见,它只是通过辅助类将获取的位置存储在我的应用 SharedPreferences 中。

public class LocationReceiver extends BroadcastReceiver {
private static final String TAG = "LocationReceiver";

@Override
public void onReceive(Context context, Intent intent) {
Bundle b = intent.getExtras();
Location loc = (Location) b.get(LocationPoller.EXTRA_LOCATION);

if (loc == null) {
loc = (Location) b.get(LocationPoller.EXTRA_LASTKNOWN);

if (loc == null) {
Log.w(TAG, "Unable to get location. " + intent.getStringExtra(LocationPoller.EXTRA_ERROR));
} else {
Log.w(TAG, "Timeout getting location, using previous one " + loc);
}
} else {
Log.i(TAG, "Got location " + loc);
}

// save location in preferences
if (loc != null) {
PrefsHelper.setLastLocation(loc.getLatitude(), loc.getLongitude());
}
}
}

我还使用一个单独的 cwac-wakeful WakefulIntentService 来获取最后一个位置并做一些事情,但它们被设计为独立运行。换句话说:

  1. LocationReceiver 由 cwac-locpoll 不时调用以将最后一个已知位置存储在 SharedPreferences 中。
  2. 一个 WakefulIntentService 被(独立地)安排来获取这个位置并用它做一些事情。

谢谢!

最佳答案

这很可能与您的 BroadcastReceiver 无关。我需要将最近对 WakefulIntentService 的一些更改转移到 LocationPoller 以更好地处理边缘情况,例如 Android 摆脱该服务并稍后将其恢复,这可能会有所帮助在这里。

我有filed an issue对此——请跟踪该问题以获取有关何时发布修复程序的注释。鉴于此组件的性质,我需要进行长时间运行的测试,因此我可能至少需要 24 小时才能发布补丁。

关于android - WakeLock under-locked exception 使用 cwac-locpoll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10449688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com