GPS Provider unknown error in Set Mock Location?

不羁岁月 提交于 2019-12-10 15:18:02

问题


I'm trying to set my mock location however, I am getting the following error(Provider 'gps' unknown) and not to sure what is wrong?

I've got all the permission declared in my manifest.xml along with all the parameters.

Mock Location Method

 //Initiates the method to set the phones location
        private void setMockLocation() {
          mLocationManager.removeTestProvider(LocationManager.GPS_PROVIDER);
          mLocationManager.addTestProvider
                    (
                    LocationManager.GPS_PROVIDER,
                    "requiresNetwork" == "",
                    "requiresSatellite" == "",
                    "requiresCell" == "",
                    "hasMonetaryCost" == "",
                    "supportsAltitude" == "",
                    "supportsSpeed" == "",
                    "supportsBearing" == "",

                    android.location.Criteria.POWER_LOW,
                    android.location.Criteria.ACCURACY_FINE
                    );

            Location newLocation = new Location(LocationManager.GPS_PROVIDER);

            newLocation.setLatitude (32.4276462);
            newLocation.setLongitude(-23.5509257);

            newLocation.setAccuracy(500);

            mLocationManager.setTestProviderEnabled
                    (
                            LocationManager.GPS_PROVIDER,
                            true
                    );

            mLocationManager.setTestProviderStatus
                    (
                            LocationManager.GPS_PROVIDER,
                            LocationProvider.AVAILABLE,
                            null,
                            System.currentTimeMillis()
                    );

            mLocationManager.setTestProviderLocation
                    (
                            LocationManager.GPS_PROVIDER,
                            newLocation
                    );
        }

Error message

5-09 16:28:45.577    9070-9070/com.example.ankhit.saveme E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.IllegalArgumentException: Provider "gps" unknown
            at android.os.Parcel.readException(Parcel.java:1429)
            at android.os.Parcel.readException(Parcel.java:1379)
            at android.location.ILocationManager$Stub$Proxy.removeTestProvider(ILocationManager.java:956)
            at android.location.LocationManager.removeTestProvider(LocationManager.java:1194)
            at com.example.ankhit.saveme.UserLocation.setMockLocation(UserLocation.java:215)
            at com.example.ankhit.saveme.UserLocation.access$000(UserLocation.java:41)
            at com.example.ankhit.saveme.UserLocation$4.onClick(UserLocation.java:173)
            at android.view.View.performClick(View.java:4439)
            at android.view.View$PerformClick.run(View.java:18398)
            at android.os.Handler.handleCallback(Handler.java:725)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:176)
            at android.app.ActivityThread.main(ActivityThread.java:5299)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
            at dalvik.system.NativeStart.main(Native Method)

Any ideas?

来源:https://stackoverflow.com/questions/30141887/gps-provider-unknown-error-in-set-mock-location

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!