位置情報サービスを有効にするために設定画面を起動し(無効になっている場合)、ユーザーが位置情報サービスを有効にしている場合は、アクティビティに戻った後にビューを更新する必要があります。
起動設定メニュー項目のクリックで、
startActivityForResult(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS ), 1234);
と
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1234 && (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER ) || locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER ))){
refreshViews(); // making a server call and getting new data and assigning to views
}
}
問題は次のとおりです。一度有効にしてからアプリに戻ると、必要に応じてビューが更新されます。しかし、メニュー項目をもう一度クリックしてアプリに戻ると、再び更新されます。状態を無効から有効にするたびにビューを更新したいと思います。