あなたの場合、Handlerクラスを使用することをお勧めします。これが私がすることです:
private static class PromoScroller implements Runnable {
private Handler _scrollHandler;
public PromoScroller(Handler scrollHandler) {
_scrollHandler = scrollHandler;
}
@Override
public void run() {
// ..
_scrollHandler.sendEmptyMessage(0);
}
}
//アクティビティのどこか:
_promoScroller = new PromoScroller(new Handler() {
@Override
public void dispatchMessage(Message msg) {
super.dispatchMessage(msg);
// !! catch message and start the activity
Intent = new Intent(YourCurrentActivty.this, YourTargetActivity.class);
}
});
_scrollerThread = new Thread(_promoScroller);
_scrollerThread.start();
PSこれらは私がタイマーをスクロールするために使用するコードのビットですが、あなたはアイデアを得る
UPD
// TASK
public class YourTimerTask extends TimerTask {
private Handler _Handler;
public YourTimerTask(Handler handler) {
_Handler = handler;
}
public void run() {
_Handler.sendEmptyMessage(0);
}
}
// TASK HANDLER (private property in your acitivity)
private Handler _taskHandler = new Handler(){
public void dispatchMessage(android.os.Message msg) {
// do cleanup, close db cursors, file handler, etc.
// start your target activity
Intent viewTargetActivity = new Intent(YourCurrentActivity.this, YourTargetActivity.class);
};
};
// IN YOUR ACTIVITY (for isntance, in onResume method)
Timer timer = new Timer();
timer.schedule(new YourTimerTask(_taskHandler), seconds*1000);
これでうまくいくはずです。タイマーの場合-グーグルだけ。タイマーの例
UPD2
私の間違い-それはあるべきですHandler _timerHandler = ...
。活動を開始するには、こちらをご覧ください