我正在开发一个跟踪应用程序,它通过每 3 秒获取用户当前位置来跟踪用户。当屏幕打开时,我能够获取经纬度值。但当屏幕休眠时。我无法获取数据。
CODE:
@Override
public void onLocationChanged(Location location) {
mLastLocation = location;
if (mCurrLocationMarker != null)
{
mCurrLocationMarker.remove();
}
latitude = location.getLatitude();
longitude = location.getLongitude();
latLngcurrent = new LatLng(location.getLatitude(), location.getLongitude());
Toast.makeText(context,String.valueOf(latitude)+" "+String.valueOf(longitude), Toast.LENGTH_LONG).show();
Log.d("onLocationChanged", String.format("latitude:%.3f longitude:%.3f",latitude,longitude));
Log.d("onLocationChanged", "Exit");
Toast.makeText(this, "exiting LocationChanged ", Toast.LENGTH_SHORT).show();
}
上面给出的 onLocationChanged 方法每 3 秒获取一次 lat lon 值。即使屏幕休眠,我应该做什么才能让这个方法运行。我读过有关 Wakelock 的内容,但不知道如何实现它,任何帮助将不胜感激。提前致谢。
Note:当多任务完成时,该应用程序可以完美运行,
使用作业调度程序每 3 秒获取一次位置,它在屏幕睡眠时也可以工作https://developer.android.com/reference/android/app/job/JobScheduler.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)