所以这段代码在周五工作:
public void requestLocationUpdate() {
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
Intent updateIntent = new Intent(SINGLE_LOCATION_UPDATE_ACTION);
PendingIntent singleUpdatePI = PendingIntent.getBroadcast(_context, 0, updateIntent, PendingIntent.FLAG_UPDATE_CURRENT);
IntentFilter locIntentFilter = new IntentFilter(SINGLE_LOCATION_UPDATE_ACTION);
SingleUpdateReceiver receiver = new SingleUpdateReceiver();
getApplicationContext().registerReceiver(receiver, locIntentFilter);
locationManager.requestSingleUpdate(criteria, singleUpdatePI);
}
class SingleUpdateReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// ... never invoked
}
}
今天,onReceive()
根本不会被调用。这有什么理由不适合今天吗?唯一改变的是我现在在不同的WiFi路由器上。
我可以在LogCat中看到几条可疑的行:
06-23 15:10:36.540 709-7716/? D/LocationManagerService﹕ request 430483d8 fused Request[ACCURACY_BLOCK fused requested=+10m0s0ms fastest=+10m0s0ms num=1] from com.nilzor.app(10195)
06-23 15:10:36.540 709-7716/? D/LocationManagerService﹕ provider request: fused ProviderRequest[ON interval=+10m0s0ms]
......不知道这是否相关?
requestSingleUpdate
的文档将我指向requestLocationUpdates,这再次告诉我可能需要一段时间才能获得第一次更新。 requestSingleUpdate
也是如此吗?在周五,回调在请求的第二个内发出。今天我已经尝试了10次以上并没有开过一次。我现在发帖计算5分钟。
答案 0 :(得分:0)
当您连接到Wi-Fi时,您将从路由器获取坐标。无论您身在何处,在您的Wi-Fi区/地方都使用真正的GPS或gps扰流板。