6 Stimmen

Erhalten von "Fenster bereits fokussiert, ignoriert Fokusgewinn von: com.Android.internal.view.IInputMethodClient$Stub$Proxy" in Android

Wenn ich von einer Absicht zu einer anderen Absicht gehe, erhalte ich diese Warnung:

"Fenster bereits fokussiert, ignoriert Fokusgewinn von: com.Android.internal.view.IInputMethodClient$Stub$Proxy"

und der Blick bleibt auf dem alten Vorsatz.

lautet der Code:

   btnCatalog.setOnClickListener(new OnClickListener() {
   private ProgressDialog myProgressDialog;
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    myProgressDialog = ProgressDialog.show(introPage.this,
      "Please wait...", "Doing Extreme Calculations...", true);
    new Thread() {
     public void run() {
      try{
       fetchAndStoreData();
       Intent toMainPage = new Intent(introPage.this, mainPage.class);
       startActivity(toMainPage);
       sleep(5000);
      } catch (Exception e) { }
      myProgressDialog.dismiss();
     }
    }.start();
   }
  });

aber wenn ich die fetchandStoreData()-Methode kommentiere, wird die Absicht zu einer anderen Absicht verschoben. Die Methode fetchAndStoreData() liest XML-Daten aus Dateien und speichert Daten in der SQLLite-Datenbank.

Bis jetzt habe ich keine Ahnung, warum diese Warnung auftritt.

brauche dringend Hilfe

Danke

5voto

NicoMinsk Punkte 1598

Ich hatte diesen Fehler, wenn "mainPage" (gestartet Absicht) nicht auf Manifest-Datei deklariert wurde,
versuchen, hinzuzufügen:
<Aktivität Android:name=".mainPage" />

4voto

Ricket Punkte 32112

Eine andere Lösung: Überprüfen Sie die onCreate-, onResume- usw. Methoden Ihrer Aktivität, die geöffnet wird. In meinem Fall hatte ich etwas Code geändert, so dass meine onCreate-Methode this.finish(); vor dem Ende der Methode. Ich vermute, dass eine Art von Race Condition auftritt, wenn Sie das tun, und jedes Mal, wenn ich meine Activity geöffnet habe, würde ich dasselbe in logcat erhalten:

W/InputManagerService(  104): Window already focused, 
ignoring focus gain of: 
com.android.internal.view.IInputMethodClient$Stub$Proxy@46399630

Reparieren Sie die Aktivität, die gerade geöffnet wird! Wenn Sie die Aktivität sofort nach dem Öffnen schließen müssen, finden Sie einen anderen Weg, dies zu tun; vielleicht über die runOnUiThread Methode, ich weiß es nicht.

3voto

user714056 Punkte 31

Ich hatte ein anderes Problem. Ich konnte zwar einmal die Aktivitäten wechseln, aber nicht öfter als das. Ich denke, es war eine Kombination aus der Verwendung von Intent.FLAG_ACTIVITY_NO_HISTORY beim Navigieren zum zweiten Activity und mit Activity.startActivity um zur ersten Anwendung zurückzukehren. Als ich zu folgenden Anwendungen wechselte Activity.finish() die zweite zu verlassen Activity und zum ersten zurückkehren, funktionierte alles besser.

1voto

Billy Tobon Punkte 459

Ich hatte gestern das gleiche Problem aufgrund eines Tippfehlers in der Aktivitätsdeklaration in der Datei androidManifest.xml, aber auch nach der Behebung blieb der Fehler bestehen.

Nach dem Neustart von Eclipse und des Emulators erhielt ich diese Meldung in der Konsole: sobald die Hauptaktivität gestartet wurde:

"Emulator: Das Emulator-Fenster war außer Sichtweite und wurde kürzlich gelöscht.

und die sekundäre Aktivität startete ohne Probleme.

0voto

maxweber Punkte 576

Ein spezielles verstecktes Zeichen oder ähnliches in der mainifest.xml. Aus einer anderen manifest.xml eingefügt:

android:screenOrientation="landscape"

Nach dem Problem gelöscht und manuell eingetippt. Dann sauber, bauen. Und funktioniert. Macht Spaß.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X