ユーザーの現在地を取得するためにGPSをオンにする必要があるアプリを開発しています。ユーザーがGPSをオンにしているかどうかを確認/確認するにはどうすればよいですか?
私はGPSの現在の状態を確認するために、このコードを使用しています:
isGPSEnabled = locationManager
.isProviderEnabled(LocationManager.GPS_PROVIDER);
、その後、私はこれをさらにコード実装しています:上記のコード
if (!isGPSEnabled) {
// ask to turn on GPS
Snackbar snackbar = Snackbar
.make(coordinatorLayout, "No location detected!", Snackbar.LENGTH_LONG)
.setAction("RETRY", new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getBaseContext(), "first called", Toast.LENGTH_SHORT).show();
// same codes gets executed i.e. to check if user enabled GPS or not
}
});
snackbar.setDuration(Snackbar.LENGTH_INDEFINITE);
snackbar.show();
} else {
// execute necessary code
}
は正確の状態をチェックしていますGPSですが、GPSを再度オンにして「復帰」ボタンSnackbar
をクリックすると、GPSがオンのときに実行されるはずのコードは実行されませんが、GPSがオフのときに実行されるはずのコード実行されています。
私はGPSをオンにしたことを確認するために、何らかの種類のレシーバーが必要ですか?
お知らせください。
「LocalLocationProviderChangedReceiver」は何ですか? –
BroadcastReceiver – fernandospr
を拡張する静的内部クラスと、 'NotificationsConfigurationActivity'および' MyActivity'は何ですか? –