Android NETWORK位置没有响应

时间:2013-07-15 16:10:26

标签: android networking location

我正在以这种方式启动位置提供商:

    LocationManager     locationManager     = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
    Intent              locationIntent      = new Intent(context, LocationReceiver.class);        
    PendingIntent       pendingIntent       = PendingIntent.getBroadcast(context, 0, locationIntent, PendingIntent.FLAG_UPDATE_CURRENT);

        locationManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER,
                                                MINIMAL_TIME,
                                                MINIMAL_DISTANCE,
                                                pendingIntent);

然后,我的接收器以这种方式实现:

    public void onReceive(Context context, Intent intent) {

    if(intent.hasExtra(LocationManager.KEY_LOCATION_CHANGED)) {
        Location location = (Location)intent.getExtras().get(LocationManager.KEY_LOCATION_CHANGED);

我的问题如下:

在Galaxy Nexus上,接收器永远不会被触发。

如果我之前手动启动Google地图应用程序,我就成功触发了它。然后,它没有任何问题。如果我重置手机(取出电池),则会再次出现问题。

对此有何解决方案?

我在stackoverflow上遇到了很多类似的问题,但从未找到过有效的解决方案。

编辑:

我发现使用没有数据访问权限的SIM卡会发生此问题,即使WiFi已被灌输并已连接。使用具有数据访问权限的SIM,此问题不会发生。

在Nexus One上,无论我使用何种SIM卡(包含数据或没有数据),都不会出现此问题。

0 个答案:

没有答案