ich den folgenden Absturz bekommen, aber dies geschieht nur auf einigen Samsung-Geräten (nicht alle, entwickeln wir/Test auf Samsung-Geräten)java.lang.SecurityException: BLUETOOTH-Berechtigungsabsturz. (Samsung-Geräte)
Crash-Log:
java.lang.SecurityException: Need BLUETOOTH permission: Neither user 10025 nor current process has android.permission.BLUETOOTH.
at android.os.Parcel.readException(Parcel.java:1540)
at android.os.Parcel.readException(Parcel.java:1493)
at android.bluetooth.IBluetooth$Stub$Proxy.isEnabled(IBluetooth.java:1156)
at android.bluetooth.BluetoothAdapter.isEnabled(BluetoothAdapter.java:697)
at org.altbeacon.beacon.service.scanner.CycledLeScanner.finishScanCycle(CycledLeScanner.java:245)
at org.altbeacon.beacon.service.scanner.CycledLeScanner.scheduleScanCycleStop(CycledLeScanner.java:234)
at org.altbeacon.beacon.service.scanner.CycledLeScanner$1.run(CycledLeScanner.java:230)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5972)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Hier mein AndroidManifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.app.myapp" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<!--
The following two permissions are not required to use Google Maps Android API v2,
but are recommended. We also require them for location updates.
-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<permission
android:name=".permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name=".permission.C2D_MESSAGE" />
<application
android:name=".myapp"
android:allowBackup="true"
android:icon="@drawable/appicon"
android:label="@string/app_name"
android:logo="@drawable/action_bar_pinwheel_back"
android:theme="@style/AppTheme" >
<activity
android:name=".activities.VerifyPinActivity"
android:label="@string/title_activity_verify_pin"
android:screenOrientation="portrait"
android:theme="@style/NoActionBarDark"
android:windowSoftInputMode="stateVisible|adjustPan" >
</activity>
...(more activities here removed)
</application>
</manifest>
Ich habe wirklich keine Ahnung, warum es nur auf ein paar Geräten auftritt; Meine erste Vermutung ist, dass es etwas mit Samsung KNOX zu tun hat, und die (wenigen) Benutzer, die abstürzen, sind KNOX-Benutzer mit einer Telefonrichtlinie, Bluetooth zu deaktivieren.
Hat jemand anderes in das hineingeraten? Oder hat jemand eine Idee, was das sein könnte?
Auch wenn Sie in Ihrem Manifest uses-permission haben, kann ein Benutzer jede Erlaubnis für eine bestimmte Anwendung deaktivieren, vielleicht ist dies der Fall? Eine wirklich wilde Vermutung. –
Eine weitere Vermutung: Hinzufügen von android.permission.BLUETOOTH_PRIVILEGED Privileg. Vielleicht könnte diese Antwort (oder auch die nächste) http://stackoverflow.com/a/18322851/4618338 ebenfalls helfen. –
@TrynkiewiczMarius Das war meine erste Schätzung. Ich vermutete etwas wie das Installieren der App in einen KNOX Sandbox-Modus und das Deaktivieren von Bluetooth innerhalb von dort? Ich bin mir nicht sicher, wie KNOX funktioniert – eric