Ich arbeite an einem GPS-Teil und für Kriterien kann ich die Genauigkeit auf ACCURACY_FINE, ACCURACY_MEDIUM etc. einstellen. Aus irgendeinem Grund bekomme ich immer einen Force-Close-Fehler, wenn ich die Kriterien auf ACCURACY_HIGH setze. irgendwelche Ideen zu was könnte es verursachen?Android GPS ACCURACY_HIGH verursacht Force schließen?
Heres mein Manifest, im ziemlich sicher, dass alles in Ordnung ist, da ich in der Lage bin anders Kriterien zu verwenden:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
Hier sind meine Protokolle:
07-05 08:51:48.641: W/dalvikvm(1040): threadid=1: thread exiting with uncaught exception (group=0x40015578)
07-05 08:51:48.657: E/AndroidRuntime(1040): FATAL EXCEPTION: main
07-05 08:51:48.657: E/AndroidRuntime(1040): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jetdelivery.mobile/com.jetdelivery.mobile.statuspage}: java.lang.IllegalArgumentException: accuracy=3
07-05 08:51:48.657: E/AndroidRuntime(1040): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
07-05 08:51:48.657: E/AndroidRuntime(1040): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
07-05 08:51:48.657: E/AndroidRuntime(1040): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
07-05 08:51:48.657: E/AndroidRuntime(1040): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
07-05 08:51:48.657: E/AndroidRuntime(1040): at android.os.Handler.dispatchMessage(Handler.java:99)
07-05 08:51:48.657: E/AndroidRuntime(1040): at android.os.Looper.loop(Looper.java:130)
07-05 08:51:48.657: E/AndroidRuntime(1040): at android.app.ActivityThread.main(ActivityThread.java:3687)
07-05 08:51:48.657: E/AndroidRuntime(1040): at java.lang.reflect.Method.invokeNative(Native Method)
07-05 08:51:48.657: E/AndroidRuntime(1040): at java.lang.reflect.Method.invoke(Method.java:507)
07-05 08:51:48.657: E/AndroidRuntime(1040): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
07-05 08:51:48.657: E/AndroidRuntime(1040): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
07-05 08:51:48.657: E/AndroidRuntime(1040): at dalvik.system.NativeStart.main(Native Method)
07-05 08:51:48.657: E/AndroidRuntime(1040): Caused by: java.lang.IllegalArgumentException: accuracy=3
07-05 08:51:48.657: E/AndroidRuntime(1040): at android.location.Criteria.setAccuracy(Criteria.java:223)
07-05 08:51:48.657: E/AndroidRuntime(1040): at com.jetdelivery.mobile.statuspage.onCreate(statuspage.java:125)
07-05 08:51:48.657: E/AndroidRuntime(1040): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-05 08:51:48.657: E/AndroidRuntime(1040): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
07-05 08:51:48.657: E/AndroidRuntime(1040): ... 11 more
I Android 2.3 mit entwickle. 5 Firmware. Vielen Dank!
Hmmm, vielleicht verwende ich ACCURACY_HIGH falsch. Ich möchte Sie fragen, warum ACCURACY_MEDIUM für mich funktioniert, aber ACCURACY_HIGH nicht? –
'ACCURACY_MEDIUM' ist' 0x00000002' also ist 'ACCURACY_COARSE'; 'ACCURACY_LOW' ist' 0x00000001', also 'ACCURACY_FINE'. Während 'ACCURACY_HIGH' ist '0x00000003' – nullpotent
Das stimmt, aber nur weil sie Konstanten mit äquivalenten Werten sind bedeutet nicht, dass Sie die falsche verwenden sollten ... dieser Pfad führt zu Verwirrung und Unlesbarkeit. COARSE und FINE sind für den allgemeinen Standort bestimmt, während die anderen für Höhe, Geschwindigkeit usw. bestimmt sind. – matt5784