Получение окна уже сфокусировано, игнорируя усиление фокуса: com.android.internal.view.IInputMethodClient$Stub$Proxy в Android

Когда я перехожу от одного намерения к другому намерению, я получаю это предупреждение:

«Окно уже сфокусировано, игнорируя усиление фокуса: com.android.internal.view.IInputMethodClient$Stub$Proxy»

и вид остается на старом намерении.

код:

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

но когда я комментирую метод fetchandStoreData(), намерение переходит к другому намерению. метод fetchAndStoreData() считывает XML-данные из файлов, а также сохраняет данные в базу данных SQLLite.

до сих пор я понятия не имею, почему это предупреждение происходит.

нужна срочная помощь

Спасибо


person kaibuki    schedule 29.06.2010    source источник
comment
Я получаю ту же ошибку. Насколько я могу судить, у меня правильно настроена целевая активность, и файл манифеста содержит активность. Есть ли другие причины для этого?   -  person twilbrand    schedule 31.08.2010
comment
@twilbrand Если вы получили этот комментарий, см. мой ответ ниже. Надеюсь, вы уже исправили ошибку или ее все еще нет после стольких месяцев :). Но если вы нашли решение проблемы, почему вы не опубликовали свой собственный ответ? :-\   -  person Ricket    schedule 09.02.2011
comment
Моя исправлена: Intent.FLAG_ACTIVITY_CLEAR_TOP   -  person Yousha Aleayoub    schedule 12.03.2016


Ответы (5)


У меня была эта ошибка, когда «mainPage» (запущенное намерение) не было объявлено в файле манифеста,
попробуйте добавить:
‹activity android:name=".mainPage" />

person NicoMinsk    schedule 05.08.2010

Другое решение: проверьте методы onCreate, onResume и т. д. вашей открываемой активности. В моем случае я изменил некоторый код, чтобы мой метод onCreate вызывал this.finish(); до конца метода. Я предполагаю, что когда вы это делаете, возникает какое-то состояние гонки, и каждый раз, когда я открывал свою активность, я получал одно и то же в logcat:

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

Исправьте открываемое действие! Если вам нужно закрыть действие сразу после открытия, найдите другой способ сделать это; может через метод runOnUiThread, не знаю.

person Ricket    schedule 08.02.2011

У меня была другая проблема. Я смог сменить деятельность один раз, но не более того. Я думаю, что это была комбинация использования Intent.FLAG_ACTIVITY_NO_HISTORY при переходе ко второму Activity и использования Activity.startActivity для возврата к первому приложению. Когда я перешел на использование Activity.finish(), чтобы оставить второй Activity и вернуться к первому, все стало работать лучше.

person user714056    schedule 18.04.2011

Вчера возникла та же проблема из-за опечатки в объявлении активности на androidManifest.xml, но даже после исправления ошибка не исчезла.

После перезапуска Eclipse и эмулятора я получил это сообщение в консоли: как только основная активность была запущена:

"эмулятор: окно эмулятора было вне поля зрения и было обновлено"

и вторичная активность запустилась без проблем.

person Billy Tobon    schedule 08.09.2011

Какой-то специальный скрытый символ или что-то подобное в файле mainifest.xml. Вставлено из другого manifest.xml:

android:screenOrientation="landscape"

После проблемы удалил и набрал вручную. Потом чистим, строим. И работает. Весело.

person maxweber    schedule 14.09.2011