2017-02-02 3 views
0

地図/アクティビティを更新するプロンプトを使用してGPSをオンにした後。 私はこれをしましたが、アクティビティをリフレッシュしません。 私のコードは次のとおりです。プロンプトを使用してGPSをオンにした後にマップ/アクティビティを更新する

public void showSettingsAlert(){ 

    AlertDialog.Builder alertDialog = new AlertDialog.Builder(HomeActivity.this); 

    // Setting Dialog Title 
    alertDialog.setTitle("GPS is settings"); 

    // Setting Dialog Message 
    alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?"); 

    // Setting Icon to Dialog 
    alertDialog.setIcon(R.mipmap.ic_launcher); 

    // On pressing Settings button 
    alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog,int which) { 
      Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); 
      HomeActivity.this.startActivity(intent); 
      loadData(); 
     } 
    }); 

    // on pressing cancel button 
    alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
      dialog.cancel(); 
     } 
    }); 

    // Showing Alert Message 
    alertDialog.show(); 
} 

アクティビティを更新するにはどうすればよいですか?

checkGPS();

private void checkGPS(if(!)(this).location()。state()。locationServicesEnabled()||!SmartLocation.with(this).location()。state()。 isAnyProviderAvailable()){ maketoast( "ロケーションサービスは有効になっていません!!"); showSettingsAlert(); }}

+0

アクティビティのonResumeメソッドでマップを更新します。 –

+0

マップクラスコードを追加してください。 – W4R10CK

+0

無限ループでアクティビティを得ます –

答えて

0
@Override 
protected void onResume() { 
    super.onResume(); 

    if(GPS on){ 
     activity refresh.. 
    }else{ 
     showSettingsAlert(); 
    } 
} 
+0

無限ループでアクティビティを取得する –

0

はGPSをONにした後、()OnResumeでの活動を更新しても無限ループの問題を回避するためにSharedPreferenceの助けを借りてそれを行います。

関連する問題