Android - BroadcastReceiver kann nicht aktiviert werden
Nach dem Upgrade auf das neueste SDK kehrte ich zur Widget-Entwicklung zurück und mein Widget schlägt beim Start plötzlich mit der folgenden Meldung fehl:
ERROR/AndroidRuntime(5296): java.lang.RuntimeException:
Unable to start receiver topjob.widget.SearchWidget:
java.lang.SecurityException: Permission Denial:
attempt to change component state from pid=5296, uid=10057, package uid=10048
Hier sind zwei Codezeilen, in denen eine Ausnahme auftritt:
@Override
public void onEnabled(Context context) {
PackageManager pm = context.getPackageManager();
pm.setComponentEnabledSetting(new ComponentName("topjob",
".widget.SearchWidgetBroadcastReceiver"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP);
startAlarm(context, UPDATE_RATE_SEC);
}
Also im obigen CodestartAlarm()
wird seitdem nie ausgeführtpm.setComponentEnabledSetting()
Löst die SecurityException aus
Vermisse ich Sicherheitseinstellungen in meinem Manifest? Derzeit habe ich:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
Ich entwickle fürSDK v. 1.5
und es hat gut funktioniert
P.S. Es passiert am Telefon und im Emulator