当屏幕锁定时,我想在 PushReceived 上发布 位置。 当屏幕开启时,我的代码可以正常工作。 WakeLock似乎不起作用......
从 Parse.com 第一次收到 PUSH通知时,屏幕变为开启,我可以看到 GPS 图标 会弹出。并且数据库更新。
但是我第二次获得PUSH notfication时, onLocationCanged 没有被触发,POST永远不会被发送。为什么是这样 ?然而,屏幕亮起,并显示GPS图标。
Evrytime我在这一点设置调试它的工作原理:
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
某种asynch tastk问题maby?
这是我的代码:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
答案 0 :(得分:0)
删除它:
//Stop receiving LOCATION after 5 sec
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
locationManager.removeUpdates(PushNotificationReceiver.this);
//WakeLock release
wakeLock.release();
}
}, 5000);
并添加
locationManager.removeUpdates(PushNotificationReceiver.this);
wakeLock.release();
在 onLocationChanged 中,如下所示:
@Override
public void onLocationChanged(Location location) {
currentLat = location.getLatitude() + "";
currentLng = location.getLongitude() + "";
currentDate = new Date();
username = tabFragment3.userEmail;
postLocation(mainActivity.getAppContext(), currentLat, currentLng, currentDate.toString(), username);
locationManager.removeUpdates(PushNotificationReceiver.this);
wakeLock.release();
}