Ошибка времени выполнения - java.lang.IllegalArgumentException: provider = gps - PullRequest
7 голосов
/ 01 февраля 2012

Я получил эту ошибку из пользовательских журналов созданного мной приложения для Android. Я не смог повторить ошибку до сих пор. Буду очень признателен за любую помощь.

Ошибка:

java.lang.IllegalArgumentException: provider=gps
at android.os.Parcel.readException(Parcel.java:1326)
at android.os.Parcel.readException(Parcel.java:1276)
at android.location.ILocationManager$Stub$Proxy.requestLocationUpdates(ILocationManager.java:646)
at android.location.LocationManager._requestLocationUpdates(LocationManager.java:582)
at android.location.LocationManager.requestLocationUpdates(LocationManager.java:446)
at com.myApp.service.DeviceManager$7.handleMessage(DeviceManager.java:470)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3835)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:883)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641)
at dalvik.system.NativeStart.main(Native Method)

Местоположение устройства, к которому он относится:

private final Handler uihandler = new Handler() {

 @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case MSG_TOAST:
                    Toast.makeText(DeviceManager.this, msg.arg1, Toast.LENGTH_SHORT).show();
                    break;

                case MSG_ENABLE_LOCATION:
                    mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 1,DeviceManager.this);
                   mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,
                            60000, 1, DeviceManager.this);
                    break;

                case MSG_DISABLE_LOCATION:
                    mLocationManager.removeUpdates(DeviceManager.this);
                    break;

                case MSG_STOP_SELF:
                    break;
            }
        }

    };

Ответы [ 2 ]

7 голосов
/ 17 октября 2012

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

1 голос
/ 01 февраля 2012

IllegalArgumentException, если поставщик является нулевым или не существует. Убедитесь, что провайдер GPS включен.

Вы проверяли этот учебник ? Вы добавили следующий файл манифеста записи?

  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...