我想要在GPS_PROVIDER状态改变时收到通知。我在这里找到了以下代码(http://hejp.co.uk/android/android-gps-example/),但我没有收到通知。
- 现在我在室内无法获取GPS信号,所以我不应该收到通知"状态已更改:服务不可用"吗?
- onStatusChanged什么时候被调用?
- 我做错了什么?
谢谢,
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
/* This is called when the GPS status alters */
switch (status) {
case LocationProvider.OUT_OF_SERVICE:
Log.v(tag, "Status Changed: Out of Service");
Toast.makeText(this, "Status Changed: Out of Service",
Toast.LENGTH_SHORT).show();
break;
case LocationProvider.TEMPORARILY_UNAVAILABLE:
Log.v(tag, "Status Changed: Temporarily Unavailable");
Toast.makeText(this, "Status Changed: Temporarily Unavailable",
Toast.LENGTH_SHORT).show();
break;
case LocationProvider.AVAILABLE:
Log.v(tag, "Status Changed: Available");
Toast.makeText(this, "Status Changed: Available",
Toast.LENGTH_SHORT).show();
break;
}
onCreate()
或onStartCommand()
中注册GPSStatus.Listener。基本上,每当您的Service启动并执行一些代码时,请运行与上面答案中相同的mService = getSystemService...
和mService.addGpsStatus...
行。 - Sean Barbeau