3 Stimmen

thread.stop() Ausnahme

Ich möchte, wenn der Benutzer die Anwendung öffnen, um ein Lied zu spielen und wenn das Lied fertig ist eine neue Aktivität ausgelöst werden, ich legte eine Skip-Taste, damit der Benutzer das Lied zu stoppen und gehen Sie zur nächsten Aktivität, das ist der Code

timer = new Thread() {
            public void run() {
                try {
                    sleep(13000);
                } catch (InterruptedException e) {
                    // TODO: handle exception
                } finally {
                    Intent openStartingPoing = new Intent(
                            "com.localizedbasedcompetition.SIGNIN");// action
                                                                    // name
                    startActivity(openStartingPoing);
                }
            }
        };
        timer.start();

und dies ist der Onclick für die Schaltfläche "Überspringen

public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
        case R.id.bSplashSkip:
            timer.stop();
            Intent openStartingPoing = new Intent(
                    "com.localizedbasedcompetition.SIGNIN");// action name
            startActivity(openStartingPoing);
            break;

        default:
            break;
        }
    }

und dieser Code funktioniert gut, ich meine, wenn ich auf die Schaltfläche "Überspringen" klicken, ist das Lied zu stoppen und neue Aktivität ist lunched, aber mein Problem ist, auch wenn auch gut ist, bekam ich eine Ausnahme (aber die Anwendung noch funktioniert) und die Anwendung ist

07-05 13:34:19.687: E/global(26114): Deprecated Thread methods are not supported.
07-05 13:34:19.687: E/global(26114): java.lang.UnsupportedOperationException
07-05 13:34:19.687: E/global(26114):    at java.lang.VMThread.stop(VMThread.java:85)
07-05 13:34:19.687: E/global(26114):    at java.lang.Thread.stop(Thread.java:1280)
07-05 13:34:19.687: E/global(26114):    at java.lang.Thread.stop(Thread.java:1247)
07-05 13:34:19.687: E/global(26114):    at com.localizedbasedcompetition.Splash.onClick(Splash.java:73)
07-05 13:34:19.687: E/global(26114):    at android.view.View.performClick(View.java:2552)
07-05 13:34:19.687: E/global(26114):    at android.view.View$PerformClick.run(View.java:9229)
07-05 13:34:19.687: E/global(26114):    at android.os.Handler.handleCallback(Handler.java:587)
07-05 13:34:19.687: E/global(26114):    at android.os.Handler.dispatchMessage(Handler.java:92)
07-05 13:34:19.687: E/global(26114):    at android.os.Looper.loop(Looper.java:130)
07-05 13:34:19.687: E/global(26114):    at android.app.ActivityThread.main(ActivityThread.java:3701)
07-05 13:34:19.687: E/global(26114):    at java.lang.reflect.Method.invokeNative(Native Method)
07-05 13:34:19.687: E/global(26114):    at java.lang.reflect.Method.invoke(Method.java:507)
07-05 13:34:19.687: E/global(26114):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
07-05 13:34:19.687: E/global(26114):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
07-05 13:34:19.687: E/global(26114):    at dalvik.system.NativeStart.main(Native Method)

7voto

Martze Punkte 921

Verwenden Sie timer.interrupt() anstelle von .stop(). Thread.stop() ist veraltet, wie Ihr Log sagt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X