java - 线程挂起() UnsupportedOperationException

标签 java android exception unsupportedoperation

我正在开发一个滑雪追踪器应用程序,但我在第一个任务上失败了:)秒表

这是我的服务:

public class TrackerService extends Service {
    private IBinder mBinder = new TrackerBinder();
    private TimerThread thread;
    private int min =0,sec=0;
    private boolean running = true;

    @Override
    public void onCreate() {
        thread = new TimerThread();
    }

    @Override
    public IBinder onBind(Intent intent) {
        return mBinder;
    }


    public void startTimer(){
        if(!thread.isAlive())
            thread.start();
        else{
            thread.resume();
        }
    }

    public void pauseTimer(){
        thread.suspend();
    }

    public class TrackerBinder extends Binder{
        public TrackerService getService(){
            return TrackerService.this;
        }

    }

    public class TimerThread extends Thread{
        @Override
        public void run() {
            while (running){
                sec++;
                if(sec==60){
                    min++;
                    sec=0;
                }
                try {
                    Thread.sleep(1000);
                }catch(Exception e){}
            }
        }
    }
}

我从绑定(bind)的 Activity 中调用startTimer()和pauseTimer()方法,但在恢复时我得到了java.lang.UnsopportedOperationException。 知道如何解决吗?

最佳答案

线程一旦停止就无法重新启动。但您可以做的是实例化一个新的 TimerThread 并再次启动它!

喜欢

TimerThread newThread = new TimerThread();
newThread.start();

关于java - 线程挂起() UnsupportedOperationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27628045/

相关文章:

java - 从 Eclipse 与系统设置环境变量

java - 在首次应用程序启动之前设置帐户的最佳方法

java - 一个方法是protected的,但是我通过反射得到了该方法的修饰符,该修饰符是public的。 IDE是Android Studio

python - Python异常语法错误

Java精确识别异常

Java:从 HTTP POST 获取参数和正文

java - Android - 如何结束 fragment

java - Android 应用程序开发 - 基本问题

android - 在不消耗任何触摸事件的情况下收听滑动事件

java - 从回调内部重新抛出 Throwable