Подтвердить что ты не робот

Обнаружение GPS-переключателя в телефонах Android

Я хотел бы определить, когда пользователь меняет настройки GPS вкл или выкл для телефона Android. Значение, когда пользователь переключает GPS-сателлит вкл/выкл или обнаружение через точки доступа и т.д.

4b9b3361

Ответ 1

Как я выяснил, лучший способ сделать это - прикрепить к

<action android:name="android.location.PROVIDERS_CHANGED" />

Цель.

Например:

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

И затем в коде:

public class GpsLocationReceiver extends BroadcastReceiver implements LocationListener 
...

@Override
public void onReceive(Context context, Intent intent)
{
        if (intent.getAction().matches("android.location.PROVIDERS_CHANGED"))
        { 
            // react on GPS provider change action 
        }
}

Ответ 2

Попробуйте это,

try {
        locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);

        if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {

            Log.i("About GPS", "GPS is Enabled in your devide");
        } else {
            //showAlert
        }

Ответ 3

Impement android.location.LocationListener, там у вас есть две функции

public void onProviderEnabled(String provider);
public void onProviderDisabled(String provider);

Используя это, вы можете узнать, когда запрашиваемый провайдер включен или выключен.