问题描述
- 在预订时间后 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方法呢?
解决方案
看一下 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 是指向其它一些包,因为它只用于测试。
时间: 2024-09-28 05:26:55