Android - 有没有办法监听 GPS 是否启用或禁用

发布于 2024-12-05 22:45:46 字数 316 浏览 3 评论 0原文

我编写此代码是为了接收位置更新 -

PendingIntent launchIntent = PendingIntent.getBroadcast(context, 5000, intent, 0);
manager.requestLocationUpdates(selectProvider(), 0, 0, launchIntent);

我选择 GPS 提供商(如果可用),否则选择网络提供商。如果稍后启用 GPS,有没有一种方法可以切换回 GPS?

当 GPS 提供商启用或禁用时,系统是否广播意图?我可以为此设置一个监听器吗?

I write this code to receive location updates -

PendingIntent launchIntent = PendingIntent.getBroadcast(context, 5000, intent, 0);
manager.requestLocationUpdates(selectProvider(), 0, 0, launchIntent);

I select the gps provider if its available, otherwise the network provider. Is there a way I could switch back to the gps one if it gets enabled later?

Does the system broadcast an intent when gps provider is enabled or disabled? Could I set up a listener for the same?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

趁年轻赶紧闹 2024-12-12 22:45:46

您可以检测 GPS 状态是否发生变化,例如是否获取了 GPS 卫星定位。

查看 GpsStatus.Listener。使用 locationManager.addGpsStatusListener(gpsStatusListener) 注册它。

You can detect if GPS status changed, e.g. if a GPS satellite fix was acquired.

Look at GpsStatus.Listener. Register it with locationManager.addGpsStatusListener(gpsStatusListener).

还在原地等你 2024-12-12 22:45:46
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();
}
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();
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文