Die Android 2.3.3-Dienstanwendung läuft klar, aber auf dem 3.2-Galaxie-Tab funktioniert es, wird aber mit Gewalt geschlossen
Ich habe den folgenden Dienst läuft auf dem Sony Erricson Xperia Ray 2.3 Android, die perfekt läuft. Es ist so konzipiert, dass Bluetooth und WLAN automatisch deaktiviert werden, wenn der Benutzer versucht, das Gerät einzuschalten.
Dies läuft auf dem Boot.
Aber wenn ich auf dem Galaxy Tab 10.2 Android 3.2 läuft, funktioniert es für WiFi, aber auf Bluetooth wird es mit Gewalt geschlossen.
Der Service ist wie folgt
IntentFilter filterb = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
BroadcastReceiver mReceiverb = new StatusReceiver();
registerReceiver(mReceiverb, filterb);
Broadcast ist wie folgt
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter.isEnabled()) {
mBluetoothAdapter.disable();
}
Erlaubnis wird wie folgt gegeben
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Habe gerade den Logcat bekommen
E/AndroidRuntime( 9217): FATAL EXCEPTION: main
E/AndroidRuntime( 9217): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.bluetooth.adapter.action.STATE_CHANGED flg=0x10000010 (has extras) } in google.android.disable.StatusReceiver@407bbc40
E/AndroidRuntime( 9217): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:734)
E/AndroidRuntime( 9217): at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime( 9217): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime( 9217): at android.os.Looper.loop(Looper.java:132)
E/AndroidRuntime( 9217): at android.app.ActivityThread.main(ActivityThread.java:4126)
E/AndroidRuntime( 9217): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 9217): at java.lang.reflect.Method.invoke(Method.java:491)
E/AndroidRuntime( 9217): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
E/AndroidRuntime( 9217): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
E/AndroidRuntime( 9217): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 9217): Caused by: java.lang.SecurityException: Calling uid 10097 gave packageandroid which is owned by uid 1000
E/AndroidRuntime( 9217): at android.os.Parcel.readException(Parcel.java:1321)
E/AndroidRuntime( 9217): at android.os.Parcel.readException(Parcel.java:1275)
E/AndroidRuntime( 9217): at android.bluetooth.IBluetooth$Stub$Proxy.disable(IBluetooth.java:806)
E/AndroidRuntime( 9217): at android.bluetooth.BluetoothAdapter.disable(BluetoothAdapter.java:496)
E/AndroidRuntime( 9217): at google.android.disable.StatusReceiver.onReceive(StatusReceiver.java:26)
E/AndroidRuntime( 9217): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:725)
E/AndroidRuntime( 9217): ... 9 more