0

我的 appwidget 获取位置以获取预测。作为标题,系统重新启动后无法获取位置。

    LocationManager lm = (LocationManager)mContext.getSystemService(Context.LOCATION_SERVICE);

    Criteria criteria = new Criteria();
    criteria.setBearingRequired(false); 
    criteria.setSpeedRequired(false);   
    criteria.setAltitudeRequired(false);    
    String provider = lm.getBestProvider(criteria, true);
    Location loc = lm.getLastKnownLocation(provider);

    double lat = loc.getLatitude(); //null
    double lon = loc.getLongitude();/null

为什么这些在系统重新启动后为空?

4

2 回答 2

1

使用Broadcastreceiver on reboot

// Do something onReceive()

@Override
public void onReceive(Context context, Intent intent) {

//Do something after reboot
}

请参阅此链接:

启动时的 Android BroadcastReceiver - 当 Activity 处于后台时继续运行

于 2013-04-11T04:37:41.373 回答
0

这是因为在启动时 GPS 和 Wifi/数据连接都是OFF。所以,位置为空。您需要更改一些可以提示用户打开GPS SettingsWifi Settings的代码。

于 2013-04-11T05:32:34.203 回答