sendUserActionEvent ()가 null입니다.


90

여기 진짜 멍청이가 있어요. 스피너를 클릭하거나, 메뉴 항목을 열거 나, 길게 클릭 할 때 상황에 맞는 메뉴를 열면 동일한 Logcat 메시지가 나타납니다.

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

태그는 ViewRootImpl이고 메시지는 sendUserActionEvent() mView == null입니다. 나는 이것에 대해 웹에서 도움이되는 것을 찾을 수 없었다. Android 소스를 검색 한 결과에 대한 일부 참조를 찾았 mView지만이 로그 메시지가 인쇄 된 파일을 찾을 수 없습니다. 참고로 4.2.2 또는 API 17을 실행하는 Samsung Galaxy S4를 사용하고 있습니다. Android 4.3을 실행하는 Nexus 7에서 디버깅 할 때 동일한 메시지가 표시되지 않습니다. 어떤 아이디어? 삼성과 관련된 문제인가요?



동일한 문제에 대한 내 대답을 확인하십시오. 코드를 수정할 수 있습니다. stackoverflow.com/questions/23016155/…
AJ

답변:


93

나는 또한 S4에서 똑같은 것을 옹호했다. Galaxy Grand, HTC, Sony Experia에서 앱을 테스트했지만 s4에서만 얻었습니다. 앱과 관련이 없으므로 무시할 수 있습니다.


그것에 대한 더 많은 정보가 있습니까, 아니면 왜 발생하는지 알고 있습니까?
crocboy 2013-08-14

2
Wi-Fi가 켜져있는 동안 인터넷에 연결되어 있습니까? 인터넷에 연결되어 있지 않으면 나타납니다.
App Work

34
WIFI / 연결 이론이 잘못되었습니다. 둘 다 나를 위해 일하고 있지만 여전히이 오류가 발생합니다 (S4에서).
radley

2
"입력 이벤트를 마무리하려고 시도하지만, 입력 이벤트 수신기는 이미 배치했다"다음 로그 캣 위의 메시지는 때때로 다른 더 많은 정보를 메시지 덧붙일 수있다
하르트 무트 Pfitzinger

1
이 오류는 기기의 Android에서 새 버전과 관련이 있다고 생각합니다. Note 3 버전 5.0에서는이 문제가 있지만 4.4.2 버전에서는 Note 3에서는 문제가 없습니다 .. + 관련이 있다고 생각합니다. 블루투스 암호를 입력하라는 팝업 대화 상자가 나타날 때 발생했기 때문입니다.
Chris Sim

5

내 Galaxy S4 전화에서 context.startActivity (addAccountIntent); startActivity (new Intent (Settings.ACTION_ADD_ACCOUNT));


3
옳은. 이것은 동일한 API에서 동일한 문제를 실제로 해결 한 것입니다. 이미 원하는 컨텍스트에 있다면 context.startActivity ()를 불필요하게 호출 할 필요가 없습니다. startActivity ()를 호출하는 것만으로도 충분하며 해당 오류가 발생하지 않습니다. 여러분 감사합니다.
Shad

이 작업에 도움이되는 예제 코드를 제공해 주시겠습니까? 감사합니다.
Brandon

1
Intent addAccountIntent = new 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

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

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

내가 주석 처리 한 후 //c.close (); 잘 작동합니다. 끝에서 시도하고 업데이트 초기 설정은 다음과 같습니다. Fragment에 목록보기가 있고 contextMenu를 통해 목록에서 항목을 삭제하려고합니다.


0

이것은 두 개의 다른 활동에서 동일한 ID를 가진 두 개의 버튼을 갖는 것과 관련이 있습니다. 때로는 Android Studio가 찾을 수 없습니다. 버튼에 새 ID를 부여하고 프로젝트를 다시 빌드하면됩니다.


0

모든 삼성 기기에서 발생하는 오류입니다. 해결책은 다음과 같습니다. 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를 전체 화면으로 만드는 방법

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.