我的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
为什么在系统重启后这些是空的?
答案 0 :(得分:1)
使用Broadcastreceiver on reboot
// Do something onReceive()
@Override
public void onReceive(Context context, Intent intent) {
//Do something after reboot
}
请看这个链接:
Android BroadcastReceiver on startup - keep running when Activity is in Background
答案 1 :(得分:0)
这是因为在启动时GPS和Wifi /数据连接都是OFF
。因此,位置为空。
您需要更改一些代码,以提示用户打开GPS Settings或Wifi Settings。