timer.cancel()在android中不工作
如果用户在2分钟内未与应用程序交互,我想关闭我的应用程序,因此我已实现以下计时器,但计时器.cancel无法正常工作。它没有停止。因此应用程序崩溃timer.cancel()在android中不工作,android,android-activity,Android,Android Activity,如果用户在2分钟内未与应用程序交互,我想关闭我的应用程序,因此我已实现以下计时器,但计时器.cancel无法正常工作。它没有停止。因此应用程序崩溃 private static Timer mTimer1; private static TimerTask mTt1; private static Timer mTimer2; private static TimerTask mTt2; private static ApplicationPreferences mPrefernces = nu
private static Timer mTimer1;
private static TimerTask mTt1;
private static Timer mTimer2;
private static TimerTask mTt2;
private static ApplicationPreferences mPrefernces = null;
public static void stopTimer() {
Log.v("stoptimer", "stoptimer");
if (mTimer1 != null) {
mTimer1.cancel();
mTimer1.purge();
mTt1.cancel();
}
}
public static void startTimer(final Activity context) {
try {
Log.v("startTimer", "startTimer");
stopTimer();
mTimer1 = new Timer();
mTt1 = new TimerTask() {
public void run() {
context.runOnUiThread(new Runnable() {
@Override
public void run() {
// show timeout popup when there no any interaction to user
showTimeoutPopup(context);
}
});
}
};
mTimer1.schedule(mTt1, 120000, 10000);
} catch (Exception e) {
Log.v("exception in starttimer", e.toString());
}
}
您应该在startTimer中使用Log.vcontext.getClass.getSimpleName,Exception,e;但它不会影响..我想停止计时您需要从logcat显示崩溃日志。在您的代码中,启动计时器后,您不会在任何地方调用stopTimer。