0

Android アプリのスプラッシュ スクリーンを作成しました。私の質問は簡単です。5 秒後にスプラッシュ スクリーンが消え、メイン アクティビティが機能します。次に、「戻る」ボタンをクリックすると、スプラッシュ画面が再び返されます。しかし、私はこれを望んでいません。

ユーザーがメイン アクティビティの [戻る] ボタンをタッチした場合、アプリはスプラッシュ スクリーンなしで Android メニューに移動する必要があります。どうすれば修正できますか?

package com.example.androidfirst;

import android.app.Activity;

public class SplashActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.splash_screen);

    Thread timer = new Thread() {   //new Thread
        @Override
        public void run() {

            try {
                sleep(5000);
            }
            catch (InterruptedException e) {

                e.printStackTrace();
            }
            finally {
                Intent MainAct = new Intent("com.example.androidfirst.MAINACTIVITY");
                startActivity(MainAct);

                try {
                    this.finalize();
                }
                catch (Throwable e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        }

    };

    timer.start();

}

}
4

5 に答える 5

5

スプラッシュ スクリーンのinタグを使用してAndroidManifest.xmlに実装できます。android:noHistory="true"<activity>

于 2015-09-09T11:20:49.773 に答える
3

まず、スプラッシュ スクリーンを使用しないでください。

finish()それにもかかわらず、新しいアクティビティを呼び出すか、または で開始する必要がありますIntent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK

于 2013-02-12T21:17:11.187 に答える
3

ユーザーがメイン アクティビティの [戻る] ボタンをタッチした場合、アプリはスプラッシュ スクリーンなしで Android メニューに移動する必要があります。どうすれば修正できますか?

HandlerRunnableを使用すると、遅延を作成する簡単な方法に気付くかもしれませんが、 finish()afterを呼び出すだけstartActivity()です。

于 2013-02-12T21:14:13.507 に答える
0

onStop()スプラッシュ スクリーンが表示されなくなったときに何を行うかを指定するために追加する必要があります。

そこから電話finish()

于 2013-02-12T21:17:30.533 に答える
0

スプラッシュ スクリーンを表示するためだけにスプラッシュ スクリーンを使用しないことを強くお勧めします。

ユーザーに UI を表示する (つまり、何らかのソースからデータをロードする) 準備が整う前に実行する必要がある実行時間の長いタスクがある場合は、そのデータのロード中にスプラッシュを表示することが適切です。そうしないと、ユーザーの時間を無駄にするだけです。

5 秒は長い時間のようには思えませんが、ユーザーがそこに座って無駄なスプラッシュ スクリーンを見つめている間、それは永遠のように思えます。

スプラッシュ スクリーンを使用する必要があると思われる場合は、このページを読んで知識を吸収してください: SplashScreens Done Right

それを読んだら、彼が使用する例に従って、少なくともユーザーをできるだけ苛立たせないようにしてください。

于 2013-02-12T21:26:18.730 に答える