Java-метод не выполняется после запланированного времени

1

Я хотел бы выполнить метод через 10 секунд после запуска Intent:

Intent launchIntent = getPackageManager().getLaunchIntentForPackage(GOOGLE_VOICE_SEARCH_PACKAGE_NAME);
      startActivity(launchIntent);

      final Handler handler = new Handler();
      handler.postDelayed(new Runnable() {
        @Override
        public void run() {
          SonrLog.d(TAG, "TIMEOUT, reconnecting!");
          reconnectSONR();
        }
      }, 10000); //10 second timeout

Intent запускается, и мой код переходит к обработчику, но ничего не печатается или не вызывается.

Как я могу заставить это работать?

  • 0
    Вы пробовали Timer Class?
Теги:
multithreading
handler
android-intent

1 ответ

1
Лучший ответ

Хорошо, я попробовал вышеуказанный код, и он работает нормально. И я вижу журнал Log.d(TAG, "TIMEOUT, reconnecting!"); напечатан в журнале. Код, который я использовал.

    button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent launchIntent = getPackageManager().getLaunchIntentForPackage(GOOGLE_VOICE_SEARCH_PACKAGE_NAME);
              startActivity(launchIntent);

              final Handler handler = new Handler();
              handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                  Log.d(TAG, "TIMEOUT, reconnecting!");
                }
              }, 10000); //10 second timeout

        }
    });

ПРИМЕЧАНИЕ. GOOGLE_VOICE_SEARCH_PACKAGE_NAME указывается на какой-либо другой пакет, поскольку он предназначен только для тестирования.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню