Android - nie można włączyć BroadcastReceiver
Po aktualizacji do najnowszego zestawu SDK powróciłem do tworzenia widgetów i nagle mój widget nie uruchamia się z tą wiadomością:
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
Oto dwie linie kodu, w których występuje wyjątek:
@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);
}
tak w powyższym kodziestartAlarm()
nigdy nie jest wykonywanypm.setComponentEnabledSetting()
zgłasza wyjątek SecurityException
Czy w moim manifeście brakuje jakichkolwiek ustawień zabezpieczeń? Obecnie mam:
<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" />
Rozwijam się dlaSDK v. 1.5
i działało dobrze
P.S. Dzieje się to przez telefon i emulator