myq_26 2013-02-28 08:47 采纳率: 16.7%
浏览 2042
已采纳

在预订时间后 Java 方法不能执行

我想在开启一个intent 10秒后执行一个方法:

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后,没有任何东西打印出来,也没有别的方法被调用。
如何在预定时间后,执行java方法呢?

  • 写回答

1条回答 默认 最新

  • LiDaming_and 2013-02-28 09:40
    关注

    看一下 log日志: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 是指向其它一些包,因为它只用于测试。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?