我编写此代码以接收位置更新 -
PendingIntent launchIntent = PendingIntent.getBroadcast(context, 5000, intent, 0);
manager.requestLocationUpdates(selectProvider(), 0, 0, launchIntent);
我选择gps提供商(如果可用),否则选择网络提供商。如果以后启用它,有没有办法可以切换回gps?
启用或禁用gps提供程序时,系统是否广播了意图?我可以为它设置一个监听器吗?
答案 0 :(得分:7)
您可以检测GPS状态是否已更改,例如如果获得GPS卫星定位。
看看GpsStatus.Listener
。将其注册为locationManager.addGpsStatusListener(gpsStatusListener)
。
答案 1 :(得分:5)
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
public void onProviderEnabled(String provider) {
Toast.makeText(this, "Enabled new provider " + provider,
Toast.LENGTH_LONG).show();
}
public void onProviderDisabled(String provider) {
Toast.makeText(this, "GPS disconnected", Toast.LENGTH_LONG);
Toast.makeText(getApplicationContext(), "Connected",
Toast.LENGTH_LONG);
Toast.makeText(this, "Please Switch on GPS." + provider,
Toast.LENGTH_LONG).show();
}