我能监听GPS变化吗?

3

我正在编写一个应用程序,基于GPS收集位置数据。我遇到了以下问题: 当我尝试获取GPS数据时,如果GPS关闭了,我会显示通知询问是否打开GPS,并在用户单击后启动“ACTION_LOCATION_SOURCE_SETTINGS”意图。问题是:我如何知道用户已经打开了GPS?是否有一些广播行动可以使用,或者我可以设置一些监听器,或者其他什么方法?


我需要尽可能快地获取它。是的,我知道我可以启动一些服务来检查这个,但当用户更改设置时,这可能需要很长时间,并且会消耗大量电池和系统资源。或者不会? - Taras Mazepa
嘿,我还没有涉足过GPS应用程序。但是,我找到了一些和你有关的东西:http://android.stackexchange.com/questions/186/make-certain-apps-turn-on-gps-automatically - Kartik Domadiya
@Kartik,我猜它可能是通过反射在应用程序中打开GPS。但这对我来说不是解决方案。 - Taras Mazepa
试试这个广播接收器:我认为它会对你有所帮助。 - Kartik Domadiya
@Kartik 是的,但我应该监听什么动作? - Taras Mazepa
2个回答

6
public class MyLocationListener implements LocationListener 
{

@Override
public void onLocationChanged(Location loc) {
    GlobalHelper.handler.post(GlobalHelper.update_location);

}

@Override
public void onProviderDisabled(String provider) {
    // TODO Auto-generated method stub
    GlobalHelper.system_message(provider + " Ausgeschaltet", 0,false);
}

@Override
public void onProviderEnabled(String provider) {
    // TODO Auto-generated method stub
    GlobalHelper.system_message(provider + " Eingeschaltet",0,false);
}

@Override
public void onStatusChanged(String provider, int status, 
    Bundle extras) {
    // TODO Auto-generated method stub
}

}


哦,我忘记了在LocationListener中有一个方法来触发GPS状态,我的错误。谢谢! - Taras Mazepa

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接