sendUserActionEvent () é nulo

90

Eu tenho um verdadeiro doozy aqui. Quando clico em botões giratórios, abro itens de menu ou abro menus de contexto em cliques longos, recebo a mesma mensagem do Logcat:

08-02 21:20:57.264: E/ViewRootImpl(31835): sendUserActionEvent() mView == null

A tag é ViewRootImple a mensagem é sendUserActionEvent() mView == null. Não consegui encontrar nada útil sobre isso na web. Procurei nas fontes do Android e encontrei algumas referências a mView, mas não consegui encontrar o arquivo no qual esta mensagem de log está impressa. Para referência, estou usando um Samsung Galaxy S4 executando 4.2.2 ou API 17. A mesma mensagem NÃO ocorre durante a depuração em um Nexus 7 executando Android 4.3. Alguma ideia? Este é um problema específico da Samsung?

crocboy
fonte
Verifique minha resposta para o mesmo problema, ele pode corrigir seu código stackoverflow.com/questions/23016155/…
AJ

Respostas:

93

Eu também encontrei o mesmo no S4. Testei o app no ​​Galaxy Grand, HTC, Sony Experia, mas só consegui no s4. Você pode ignorá-lo porque não está relacionado ao seu aplicativo.

App Work
fonte
Você tem mais informações sobre isso ou sabe por que isso acontece?
crocboy de
2
Você está conectado à Internet enquanto o wi-fi está ligado? Isso aparecerá se não houver conectividade com a Internet.
Trabalho de aplicativo de
34
A teoria de conexão / WIFI está errada. Ambos estão funcionando para mim, mas ainda recebo este erro (no S4).
radley
2
A mensagem Logcat acima às vezes é precedida por outra mensagem mais informativa: "Tentativa de terminar um evento de entrada, mas o receptor do evento de entrada já foi eliminado"
Hartmut Pfitzinger
1
Acho que esse erro está relacionado a uma nova versão do Android em um dispositivo, tenho esse problema na Nota 3 com a versão 5.0 enquanto não tenho nenhum problema com a Nota 3 com a versão 4.4.2 .. + Acho que isso está relacionado para uma caixa de diálogo, porque aconteceu quando uma caixa de diálogo pop-up deveria aparecer para inserir a senha Bluetooth
Chris Sim,
5

Resolvi esse problema no meu telefone Galaxy S4 substituindo context.startActivity (addAccountIntent); com startActivity (novo Intent (Settings.ACTION_ADD_ACCOUNT));

droid-zilla
fonte
3
Corrigir. Isso é o que realmente resolveu o mesmo problema, na mesma API, para mim. É desnecessário chamar context.startActivity () se você já ESTÁ no contexto que deseja. Apenas chamar startActivity () é suficiente e não resulta nesse erro. Obrigado a todos.
Shad
Você poderia fornecer um código de exemplo para ajudar com isso? Obrigado.
Brandon
1
Intent addAccountIntent = novo Intent (Settings.ACTION_ADD_ACCOUNT); addAccountIntent.setFlags (Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); addAccountIntent.putExtra (Settings.EXTRA_AUTHORITIES, new String [] {"com.app.yourapp"}); startActivity (addAccountIntent);
droid-zilla de
1
@AmitSinha na sua atividade / fragmento. A parte do código em que você iniciará outra atividade.
Neon Warge
0

Mesmo problema em um Galaxy Tab e em um Xperia S, após desinstalar e instalar novamente parece que desaparece.

O código que de repente parece levantar esse problema é este:

public void unlockMainActivity() {
    SharedPreferences prefs = getSharedPreferences("CALCULATOR_PREFS", 0);
    boolean hasCode = prefs.getBoolean("HAS_CODE", false);
    Context context = this.getApplicationContext();
    Intent intent = null;

    if (!hasCode) {
        intent = new Intent(context, WellcomeActivity.class);
    } else {
        intent = new Intent(context, CalculatingActivity.class);
    }
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    (context).startActivity(intent);
}
buguibu
fonte
0

Até eu enfrento problema semelhante depois de fazer algumas modificações no código relacionado ao Cursor.

public boolean onContextItemSelected(MenuItem item) 
{
        AdapterContextMenuInfo info = (AdapterContextMenuInfo)item.getMenuInfo();
        Cursor c = (Cursor)adapter.getItem(info.position);
        long id = c.getLong(...);
        String tempCity = c.getString(...);
            //c.close();
...
}

Depois de comentar //c.close (); Está funcionando bem. Experimente e atualize a configuração inicial como ... Tenho uma exibição de lista no Fragment e estou tentando excluir um item da lista via contextMenu.

Manjul
fonte
0

Isso tem a ver com ter dois botões com o mesmo ID em duas atividades diferentes, às vezes o Android Studio não consegue encontrar. Você só precisa dar ao botão um novo ID e reconstruir o projeto

Abraham
fonte
0

É um erro em todos os aparelhos Samsung, a solução é: coloque esta linha na sua declaração de atividade no Manifesto.

android:configChanges="orientation|screenSize"

também ao iniciar a atividade, você deve fazer o seguinte:

Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
intent.setType(Settings.ACTION_SYNC_SETTINGS);
CurrentActivity.this.startActivity(intent);
finish();

Usei isso para fazer uma atividade em modo de tela cheia, mas esta pergunta não precisa do código de tela cheia, mas em todos os casos, alguém pode precisar dele. Você pode consultar esta pergunta para o resto do código:

Como fazer VideoView em tela inteira

Emad Morris Zedan
fonte