私のアプリでは、操作に asynctask を使用していますが、タイムアウトの場合にタスクをキャンセルするためにハンドラーも使用しています。
これは私のハンドラー操作です
Handler mHandler = new android.os.Handler() {
@Override
public void handleMessage(Message msg) {
task.cancel(true);
}
};
Message msg = new Message();
msg.arg1 = 0;
mHandler.sendMessageDelayed(msg, 1000);
これは私の asynctask start です
final findIpTask task = new findIpTask(1, 2);
task.execute();
そして私のasynctaskで私は持っています
protected void onCancelled() {
running = false;
dialog.dismiss();
//some alert dialog for time-out
2.33 エミュレーターでは正常に動作していますが、4.0 エミュレーターでアプリを実行しても停止しません。理由と解決策を知っている人はいません。