Android - não é possível ativar o BroadcastReceiver
Voltei para o desenvolvimento de widget após a atualização para o SDK mais recente e, de repente, meu widget falhou na inicialização com esta mensagem:
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
Aqui estão duas linhas de código em que exceção ocorre:
@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);
}
então no código acimastartAlarm()
nunca é executado desdepm.setComponentEnabledSetting()
lança o SecurityException
Estou faltando alguma configuração de segurança no meu manifesto? Atualmente tenho:
<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" />
Estou desenvolvendo paraSDK v. 1.5
e costumava funcionar bem
P.S. Acontece no telefone e no emulador