sendUserActionEvent () là null


90

Tôi có một cơn mê thực sự ở đây. Khi tôi nhấp vào trình quay, mở các mục menu hoặc mở menu ngữ cảnh khi nhấp chuột lâu, tôi nhận được cùng một thông báo Logcat:

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

Thẻ là ViewRootImpl, và thông báo là sendUserActionEvent() mView == null. Tôi không thể tìm thấy bất cứ điều gì hữu ích về điều này trên web. Tôi đã tìm kiếm qua các nguồn Android và tìm thấy một số tham chiếu đến mView, nhưng tôi không thể tìm thấy tệp mà thông báo nhật ký này được in. Để tham khảo, tôi đang sử dụng Samsung Galaxy S4 chạy 4.2.2 hoặc API 17. Thông báo tương tự KHÔNG xảy ra khi gỡ lỗi trên Nexus 7 chạy Android 4.3. Bất kỳ ý tưởng? Đây có phải là vấn đề cụ thể của Samsung không?



Kiểm tra câu trả lời của tôi cho cùng một vấn đề, nó có thể khắc phục mã của bạn stackoverflow.com/questions/23016155/…
AJ

Câu trả lời:


93

Tôi cũng đã bao gồm điều tương tự trong S4. Tôi đã thử nghiệm ứng dụng trên Galaxy Grand, HTC, Sony Experia nhưng chỉ có trong s4. Bạn có thể bỏ qua nó vì nó không liên quan đến ứng dụng của bạn.


Bạn có thêm thông tin nào về nó không, hoặc bạn có biết tại sao nó xảy ra không?
crocboy

2
Bạn có kết nối Internet trong khi wi-fi của bạn được bật không? Điều này sẽ xuất hiện nếu không có kết nối với internet.
App Work

34
Lý thuyết kết nối / WIFI là sai. Cả hai đều đang làm việc cho tôi, nhưng tôi vẫn gặp lỗi này (trên S4).
Radley

2
Trên đây Logcat nhắn đôi khi preceeded bởi một thông báo thông tin mới hơn: "Đã cố gắng để kết thúc một sự kiện đầu vào nhưng người nhận sự kiện đầu vào đã được xử lý"
Hartmut Pfitzinger

1
Tôi nghĩ lỗi này liên quan đến phiên bản mới tắt Android trên thiết bị, tôi gặp sự cố này trên Note 3 có phiên bản 5.0 trong khi tôi không gặp vấn đề gì với Note 3 với phiên bản 4.4.2 .. + Tôi nghĩ điều này có liên quan vào Hộp thoại, vì nó đã xảy ra khi hộp thoại bật lên xuất hiện để nhập mật khẩu Bluetooth.
Chris Sim

5

Tôi đã giải quyết vấn đề này trên điện thoại Galaxy S4 của mình bằng cách thay thế context.startActivity (addAccountIntent); với startActivity (Ý định mới (Cài đặt.ACTION_ADD_ACCOUNT));


3
Chính xác. Đây là những gì thực sự giải quyết được cùng một vấn đề, trong cùng một API, đối với tôi. Nó không cần thiết gọi context.startActivity () nếu bạn đã IS trong ngữ cảnh bạn muốn. Chỉ cần gọi startActivity () là đủ và không dẫn đến lỗi đó. Cảm ơn mọi người.
Shad

Bạn có vui lòng cung cấp một mã ví dụ để trợ giúp việc này không? Cảm ơn bạn.
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 trên hoạt động / phân đoạn của bạn. Phần trong mã của bạn nơi bạn sẽ khởi chạy một hoạt động khác.
Neon Warge

0

Vấn đề tương tự trên Galaxy Tab và trên Xperia S, sau khi gỡ cài đặt và cài đặt lại, nó dường như biến mất.

Mã đột nhiên xuất hiện để nêu vấn đề này là:

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

Ngay cả khi tôi gặp phải vấn đề tương tự sau khi tôi thực hiện một số sửa đổi trong mã liên quan đến Con trỏ.

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

Sau khi tôi nhận xét ra //c.close (); Nó đang hoạt động tốt. Hãy thử ở cuối của bạn và cập nhật Thiết lập ban đầu là ... Tôi có chế độ xem danh sách trong Fragment và đang cố gắng xóa và mục khỏi danh sách thông qua contextMenu.


0

Điều này liên quan đến việc có hai nút có cùng ID trong hai Hoạt động khác nhau, đôi khi Android Studio không thể tìm thấy, Bạn chỉ cần cung cấp cho nút của mình một ID mới và xây dựng lại Dự án


0

Đó là một lỗi trên tất cả các thiết bị Samsung, giải pháp là: đưa dòng này vào phần khai báo hoạt động của bạn trong Manifest.

android:configChanges="orientation|screenSize"

cũng như khi bạn bắt đầu hoạt động, bạn nên làm điều này:

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

Tôi đã sử dụng điều này để tạo một hoạt động ở chế độ toàn màn hình, nhưng câu hỏi này không cần mã toàn màn hình, nhưng trong mọi trường hợp ai đó có thể cần nó, bạn có thể tham khảo câu hỏi này để biết phần còn lại của mã:

Cách đặt VideoView toàn màn hình

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.