sendUserActionEvent () boş


90

Burada gerçekten bir felaket var. Döndürücülere tıkladığımda, menü öğelerini açtığımda veya uzun tıklamalarda bağlam menülerini açtığımda aynı Logcat mesajını alıyorum:

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

Etiketi ViewRootImplve mesaj sendUserActionEvent() mView == null. Bu konuda yardımcı olabilecek bir şey bulamadım. Android kaynaklarında arama yaptım ve bazı referanslar buldum mView, ancak bu günlük mesajının yazdırıldığı dosyayı bulamadım. Referans için, 4.2.2 veya API 17 çalıştıran bir Samsung Galaxy S4 kullanıyorum. Android 4.3 çalıştıran bir Nexus 7'de hata ayıklarken aynı mesaj OLMAZ. Herhangi bir fikir? Bu Samsung'a özgü bir sorun mu?



Aynı sorun için cevabımı kontrol edin, kodunuzu stackoverflow.com/questions/23016155/…
AJ

Yanıtlar:


93

Ben de aynı şeyi S4'te yaptım. Uygulamayı Galaxy Grand, HTC, Sony Experia'da test ettim ancak yalnızca s4'te var. Uygulamanızla ilgili olmadığı için bunu göz ardı edebilirsiniz.


Bununla ilgili daha fazla bilginiz var mı veya neden olduğunu biliyor musunuz?
crocboy

2
Wi-fi bağlantınız açıkken internete bağlı mısınız? İnternet bağlantısı yoksa bu görünecektir.
App Work

34
WIFI / bağlantı teorisi yanlış. Her ikisi de benim için çalışıyor, ancak yine de bu hatayı alıyorum (S4'te).
radley

2
Yukarıdaki Logcat mesajının önüne bazen daha bilgilendirici başka bir mesaj gelir: "Bir giriş olayını bitirmeye çalışıldı, ancak giriş olayı alıcısı zaten atıldı"
Hartmut Pfitzinger

1
Bu hatanın bir cihazda android kapalı yeni bir sürümüyle ilgili olduğunu düşünüyorum, bu sorunu Not 3'te 5.0 sürümüne sahipken, 4.4.2 sürümlü Not 3 ile herhangi bir sorunum yok. + Bunun ilgili olduğunu düşünüyorum. bir iletişim kutusuna, çünkü Bluetooth şifresini girmek için bir açılır iletişim kutusu göründüğünde meydana geldi.
Chris Sim

5

Bu sorunu Galaxy S4 telefonumda context.startActivity (addAccountIntent) değiştirerek çözdüm; startActivity (yeni Amaç (Settings.ACTION_ADD_ACCOUNT)) ile;


3
Doğru. Benim için aynı API'de aynı sorunu gerçekten çözen şey buydu. Zaten istediğiniz bağlamdaysanız, gereksiz yere context.startActivity () çağrısı yapılır. Sadece startActivity () 'yi çağırmak yeterlidir ve bu hatayla sonuçlanmaz. Herkese teşekkürler.
Shad

Bu konuda yardımcı olması için lütfen bir örnek kod sağlar mısınız? Teşekkür ederim.
Brandon

1
Amaç addAccountIntent = yeni Amaç (Ayarlar.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 etkinliğiniz / parçanız üzerine. Kodunuzda başka bir etkinlik başlatacağınız kısım.
Neon Warge

0

Galaxy Tab ve Xperia S'de aynı sorun, kaldırıp tekrar yükledikten sonra kayboluyor gibi görünüyor.

Birdenbire bu sorunu ortaya çıkaran kod şudur:

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

İmleç ile ilgili kodda bazı değişiklikler yaptıktan sonra bile benzer bir problemle karşılaşıyorum.

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 (); İyi çalışıyor. Sonunda deneyin ve Başlangıç ​​kurulumunu güncelleyin ... Fragment'te bir liste görünümüm var ve contextMenu aracılığıyla listeden bir öğe silmeye çalışıyorum.


0

Bu, iki farklı Etkinlikte aynı kimliğe sahip iki düğmeye sahip olmakla ilgilidir, bazen Android Studio bulamaz, Düğmenize yeni bir kimlik vermeniz ve Projeyi yeniden oluşturmanız yeterlidir.


0

Bu, tüm Samsung cihazlarında bir hatadır, çözüm şudur: Manifest'teki etkinlik bildiriminize bu satırı ekleyin.

android:configChanges="orientation|screenSize"

ayrıca aktiviteye başladığınızda şunu yapmalısınız:

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

Bunu tam ekran modu olarak bir etkinlik yapmak için kullandım, ancak bu soru tam ekran koda ihtiyaç duymuyor, ancak her durumda birisinin buna ihtiyacı olabilir, kodun geri kalanı için şu soruya başvurabilirsiniz:

VideoView tam ekran nasıl yapılır

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.