Java-метод не выполняется после запланированного времени - PullRequest
1 голос
/ 19 марта 2012

Я бы хотел выполнить метод через 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 запускается, и мой код переходит через Handler, но ничего не печатается или не вызывается.*

Как мне заставить это работать?

1 Ответ

1 голос
/ 19 марта 2012

Ну, я попробовал приведенный выше код, и он работает нормально. И я вижу журнал 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 указывает на какой-то другой пакет, поскольку он предназначен только для тестирования.

...