2016-05-31 4 views
0

Ich habe eine App, die eine konstante GPS-Status ON.Support innerhalb App, ich habe mein GPS.Now möchte ich meine App zu aktivieren, um GPS wieder aktivieren oder sonst sollte es zeigen force dialog.Ich hoffe, Sie haben die Situation.Ich frage nicht beim Öffnen der App, GPS ein- oder ausschalten.Constant GPS-Status an oder aus Verifikation auf Android

Antwort

0

Below-Code kann Ihnen helfen ..

Declare Rundfunkempfänger

public class GpsLocationReceiver extends BroadcastReceiver { 
@Override 
public void onReceive(Context context, Intent intent) { 
    if (intent.getAction().matches("android.location.PROVIDERS_CHANGED")) { 

     Log.e("GPS", "changed" + intent); 

    } 
}} 

declare in AndroidManifest.xml

<receiver android:name=".GpsLocationReceiver"> 
     <intent-filter> 
      <action android:name="android.location.PROVIDERS_CHANGED" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </receiver> 

Datei, aber Sie haben eine Konstante varible erklären GPS-Status moniter. In GpsLocationReceiver geben Sie an, ob GPS ein- oder ausgeschaltet ist, aber nicht reaktiviert oder deaktiviert, Sie müssen also eine statische boolesche Variable deklarieren, um sie zu überwachen, und wenn sie ausgeschaltet ist, dann öffnen Sie die Einstellung GPS-Dialog unter Code.

public void showSettingsAlert(){ 

    AlertDialog myAlertDialog; 

    AlertDialog.Builder builder = new AlertDialog.Builder(mContext); 

    // Setting Dialog Title 
    builder.setTitle("GPS settings"); 
    builder.setCancelable(false); 
    // Setting Dialog Message 
    builder.setMessage("For Use This Application You Must Need to Enable GPS. do you want to go Setting menu?"); 

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

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

     } 
    }); 

    myAlertDialog = builder.create(); 

     myAlertDialog.show(); 


} 
+1

wo haben Sie diese statische Variable deklariert? Bitte posten Sie den vollständigen Code –

+0

Ja, bitte posten Sie den ganzen Code – notTdar

+0

Delcare statische Variable in Mainactivty wie öffentliche statische Boolean GPS_STATUS, und zuweisen Wert in Empfänger –