0

スプラッシュ画面でエラーが発生し、アプリを強制終了します。Logcat では、Permission Denied と表示されます。この問題を解決するにはどうすればよいですか。誰でもその問題で私を助けることができます、どうもありがとう

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MotionEvent;

public class SplashScreen extends Activity {
    protected boolean _active = true;
    protected int _splashTime = 4000;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);

        // thread for displaying the SplashScreen
        Thread splashTread = new Thread() {
            @Override
            public void run() {
                try {
                    int waited = 0;
                    while(_active && (waited < _splashTime)) {
                        sleep(100);
                        if(_active) {
                            waited += 100;
                        }
                    }
                } catch(InterruptedException e) {
                    // do nothing
                } finally {
                    finish();
                    startActivity(new Intent("com.droidnova.android.splashscreen.BodyPartsGameActivity"));
                    stop();
                }
            }
        };
        splashTread.start();
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            _active = false;
        }
        return true;
    }
}
4

3 に答える 3

1

問題は、 QuizActivityをAndroidMainfest.xmlに追加しないことです。

 <activity android:name="QuizActivity" ></activity>

あなたの問題が解決されるべきであるより。スプラッシュメイクで新しいアクティビティを開始する前に

finish();

あなたがそれに戻るキーで戻ることができないより=)

于 2012-05-14T07:07:38.143 に答える
1

これを行うと、あなたにとってより簡単になります:

private ImageView img;
    private Thread t;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        img = (ImageView)findViewById(R.id.im1);

        t = new Thread(){   
            @Override
            public void run() {
                try {
                    synchronized(this){ 
                        wait(2000);
                    }
                      // Here your code of animation

                } 
                catch(InterruptedException ex){ 
                    ex.printStackTrace();
                }

                Intent i = new Intent(QuizActivity.this,main.class);
                startActivity(i);
            }
        };
            t.start();
    }
于 2012-05-14T06:59:55.540 に答える
0

一度お試しいただけますか..

Thread splashTread = new Thread() {
            @Override
            public void run() {
                try {
                    int waited = 0;
                    while(_active && (waited < _splashTime)) {
                        sleep(100);
                        if(_active) {
                            waited += 100;
                        }
                    }
                } catch(InterruptedException e) {
                    // do nothing
                } finally {
                    runOnUiThread(new Runnable() {

                        @Override
                        public void run() {
                            finish();
                            startActivity(new Intent("com.droidnova.android.splashscreen.BodyPartsGameActivity"));
                            stop();
                        }
                    });
                }
            }
        };
于 2012-05-14T07:10:45.720 に答える