Intenção personalizada não está funcionando

ATUALIZAR

Meu problema imediato é resolvido de acordo com a minha resposta abaixo. Meu ambiente (dispositivos PC +) não permite permissões personalizadas em construções DEBUG.

Estou convencido de que eu consegui executar o DEBUG em algumas semanas atrás - daí a descrição de um erro "intermitente".

ATUALIZAÇÃO 2

O código sincronizado em uma máquina de desenvolvedor diferente funciona bem em seu dispositivo no modo DEBUG através do Eclipse. Nos meus dispositivos, não funciona em sua máquina.

Além disso, a construção DEBUG da minha máquina funciona bem neste outro dispositivo.

Isso me leva a questionar se algo deu errado em meus dispositivos?

Eu tenho um intermitente"Negação de permissão" problema com permissão personalizadaIntents. É um daqueles em que o código está em produção e funciona, mas, às vezes, ao fazer novas construções, ele pára de funcionar. Eu só consegui consertá-lo pela sorte antes, através de um processo de reinicialização (device & pc), limpar o projeto, desinstalar / reinstalar, repetir etc ... isso é inaceitável.

Tanto quanto eu posso ver que estou fazendo tudo correto para permissões personalizadas no meuIntents que estou transmitindo dentro do meu aplicativo. Mas logcat está me dando os erros habituais de:

W / BroadcastQueue (389): Negação de permissão: difusão Intenção {act = A_ACTION flg = 0x10} de com.test (pid = 22030, uid = 10002) requer A_PERMISSION devido ao receptor registrado BroadcastFilter {43918d50 u0 ReceiverList {4391cad8 22030 com.test / 10002 / u0 remoto: 430576d0}}

no 4.2.1 (Galaxy Nexus) e 4.2.2 (Nexus 7), ou

W / ActivityManager (2002): Negação de permissão: receber Intenção {act = A_ACTION flg = 0x10} para ProcessRecord {41a12748 31496: com.test / 10115} (pid = 31496, uid = 10115) requer A_PERMISSION devido ao remetente.test ( uid 10115)

em 4.0 (S2) e 2.3.3 (Samsung Ace).

ou seja, erros padrão.

Meu MANIFEST diz:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test"
    android:versionCode="1"
    android:versionName="4.10.0.3" >

    <permission
        android:name="A_PERMISSION"
        android:description="@string/broadcast_permission_desc"
        android:label="@string/broadcast_permission_label"
        android:permissionGroup="@string/broadcast_permission_group"
        android:protectionLevel="signature" />

    <uses-permission android:name="A_PERMISSION" />

    etc.....

Esses STRINGS são definidos como (fwiw):

<string name="broadcast_permission_label">Private Broadcast</string>
<string name="broadcast_permission_desc">This permission allows the necessary components of the application to receive private broadcasts that are sent within the application.</string>
<string name="broadcast_permission_name">A_PERMISSION</string>
<string name="broadcast_permission_group">A_GROUP</string>

Eu tenho um método na minha subclasse APPLICATION base que uso para fazer a transmissão:

public void sendBroadcast(Intent i)
{
    // hardcoded custom permission
    super.sendBroadcast(i, "A_PERMISSION");
}

Eu me inscrevo para o meuBroadcastReceiver de dentro de umFragment como isso:

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    // hardcoded custom permission
    MyApp.getInstance().registerReceiver(myReceiver, myFilter,
        "A_PERMISSION", null);
}

Eu verifiquei as seguintes questões relacionadas sem alegria:

Negação por permissão do Android: intenção de transmissãoComo usar permissões personalizadas no Android?como declarar permissões definidas pelo usuário no android

Acho que isso cobre questões semelhantes neste site.

Meu problema é que ele é intermitente, mas desperdiça muito tempo, ou seja, alguns funcionam em todos os telefones, e algumas compilações falham em todos os telefones.

Gostaria de saber se isso é um problema em um dos frameworks (Android OS, ou talvez Eclipse / Android SDK). Infelizmente meu googling só me leva aos problemas mais comuns com as soluções comuns.

questionAnswers(1)

yourAnswerToTheQuestion