sendUserActionEvent () имеет значение null


90

У меня здесь настоящая задница. Когда я нажимаю на счетчики, открываю пункты меню или открываю контекстные меню долгими щелчками мыши, я получаю то же сообщение Logcat:

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

Тег есть ViewRootImpl, а сообщение есть sendUserActionEvent() mView == null. Я не нашел в сети ничего полезного по этому поводу. Я просмотрел источники Android и нашел несколько ссылок mView, но не смог найти файл, в котором напечатано это сообщение журнала. Для справки, я использую Samsung Galaxy S4 под управлением 4.2.2 или API 17. Такое же сообщение НЕ появляется при отладке на Nexus 7 под управлением Android 4.3. Есть идеи? Это проблема Samsung?



Проверьте мой ответ на ту же проблему, он может исправить ваш код stackoverflow.com/questions/23016155/…
AJ

Ответы:


93

Я тоже встречал то же самое в S4. Я тестировал приложение в Galaxy Grand, HTC, Sony Experia, но получил только в s4. Вы можете игнорировать его, поскольку он не связан с вашим приложением.


У вас есть дополнительная информация об этом или вы знаете, почему это происходит?
Crocboy

2
Вы подключены к Интернету, когда ваш Wi-Fi включен? Это появится, если нет подключения к Интернету.
Приложение работает

34
Теория WIFI / подключения неверна. У меня оба работают, но я все равно получаю эту ошибку (на S4).
Radley

2
Вышеупомянутому сообщению Logcat иногда предшествует другое, более информативное сообщение: «Попытка завершить событие ввода, но приемник событий ввода уже удален»
Хартмут Пфитцингер

1
Я думаю, что эта ошибка связана с новой версией Android на устройстве, у меня эта проблема с Note 3 с версией 5.0, в то время как у меня нет проблем с Note 3 с версией 4.4.2 .. + Я думаю, что это связано в диалоговое окно, потому что это произошло, когда должно появиться всплывающее диалоговое окно для ввода пароля Bluetooth.
Крис Сим

5

Я решил эту проблему на своем телефоне Galaxy S4, заменив context.startActivity (addAccountIntent); с startActivity (новое намерение (Settings.ACTION_ADD_ACCOUNT));


3
Верный. Это то, что действительно решило для меня ту же проблему в том же API. Это ненужные вызовы context.startActivity (), если вы уже ЕСТЬ в нужном контексте. Достаточно просто вызвать startActivity (), плюс это не приведет к этой ошибке. Спасибо всем.
Shad

Не могли бы вы предоставить пример кода, чтобы помочь с этим? Спасибо.
Брэндон,

1
Намерение addAccountIntent = новое намерение (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

1
@AmitSinha о вашей активности / фрагменте. Часть вашего кода, в которой вы запускаете другое действие.
Neon Warge

0

Та же проблема на Galaxy Tab и на Xperia S, после удаления и повторной установки кажется, что она исчезла.

Код, который внезапно вызывает эту проблему, выглядит следующим образом:

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);
}

0

Даже я столкнулся с подобной проблемой после того, как внес некоторые изменения в код, связанный с курсором.

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();
...
}

После того, как я закомментировал //c.close (); Работает нормально. Попробуйте со своей стороны и обновите Первоначальная настройка выглядит так ... У меня есть представление списка во фрагменте, и я пытаюсь удалить элемент из списка через contextMenu.


0

Это связано с наличием двух кнопок с одинаковым идентификатором в двух разных действиях, иногда Android Studio не может найти, вам просто нужно дать своей кнопке новый идентификатор и повторно построить проект.


0

Это ошибка на всех устройствах Samsung, решение: поместите эту строку в декларацию активности в Manifest.

android:configChanges="orientation|screenSize"

также, когда вы начинаете упражнение, вы должны сделать это:

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

Я использовал это, чтобы сделать действие в полноэкранном режиме, но этот вопрос не требует полноэкранного кода, но во всех случаях, когда он кому-то может понадобиться, вы можете обратиться к этому вопросу для остальной части кода:

Как сделать VideoView полноэкранным

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.