是否有某种方法可以向位置服务注册监听器,以便当用户在设置应用程序中启用它们时收到通知?
我面临的问题是,我向用户显示警报对话框以启用位置访问,通常的流程是这样的,用户将单击[启用]积极响应,但是精英用户许多不会经历这样的流程,并且直接通过设置手动启用位置访问。间接流的问题是,我无法关闭该对话框。一个合乎逻辑的解决方案是监听位置访问启用事件的 Activity 。有没有办法注册这样的监听器?
另一种不太巧妙的方法是在回调中关闭对话框
@Override
public void onLocationChanged(Location location) {
// check if instantiated
if (enableLocationAccessAlert != null) {
enableLocationAccessAlert.dismissDialog();
}
findAddressPositionCamera(location);
}
最佳答案
我认为当您实现 LocationListener
时,这些函数已经支持它:
@Override
public void onProviderDisabled(String provider) {
// Called when the provider is disabled by the user. If requestLocationUpdates is called on an already disabled provider, this method is called immediately.
}
@Override
public void onProviderEnabled(String provider) {
// Called when the provider is enabled by the user.
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// Called when the provider status changes. This method is called when a provider is unable to fetch a location or if the provider has recently become available after a period of unavailability.
}
您只需使用这些来跟踪位置服务
状态。
希望这会有所帮助。
关于java - 位置服务 [访问] 启用监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18710241/