2

だから...私は正常に実行されているスプラッシュ画面を開発しました。どうすれば1回(そして1回だけ)実行できますか?登録画面を作成したいのですが、ユーザーに一度だけ表示したいのですが。

ヘルプ!

アマニスワン

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.content.Intent;
import com.nfc.linkingmanager.R;

public class SplashScreen extends Activity {

private boolean mIsBackButtonPressed;
private static final int SPLASH_DURATION = 1000; 

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.splash_screen);

    Handler handler = new Handler();


    handler.postDelayed(new Runnable() {

        @Override
        public void run() {



            finish();

            if (!mIsBackButtonPressed) {

                Intent intent = new Intent(SplashScreen.this, NewCore.class);
                SplashScreen.this.startActivity(intent);
           }

        }

    }, SPLASH_DURATION);

}

 @Override
 public void onBackPressed() {
    mIsBackButtonPressed = true;
    super.onBackPressed();

}
}
4

5 に答える 5

3

SharedPreferences画面がすでに表示されているという事実を保存するために使用します。開始時にこれを確認し、その場合は、次のアクティビティを開始してfinish()すぐにスプラッシュ画面を呼び出すことでアクティビティを置き換えます。

于 2013-03-18T14:43:15.970 に答える
1

このような共有設定にフラグを保存する必要があります

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this );
finish();
if (prefs.getBoolean("SplashFlag", false)&&!mIsBackButtonPressed){

 Intent intent = new Intent(SplashScreen.this, NewCore.class);
                SplashScreen.this.startActivity(intent);
}else {
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("SplashFlag", true); // value to store
//again there are values for int, long, string, float, boolean
editor.commit();//This is needed or the edits will not be put into the prefs file
}
于 2013-03-18T15:45:11.407 に答える
0

たとえば、デフォルトでfalseになる可能性のあるインスタンスを格納できるSharedPreferencesを使用します。次に、それがfalseであるかどうかをチェックし、スプラッシュを表示するifを使用します。ユーザーがスプラッシュスクリーンを見た後、ブール値をtrueに変更する場所を取得します。booleanseenSplashEditor

commit()エディターでの変更を忘れないでください。

于 2013-03-18T14:45:28.193 に答える
0

それには2つの方法があります

1位

finish();
SplashScreen.this.startActivity(intent);

スプラッシュ スクリーン アクティビティを宣言した Android マニフェストの 2 番目

これを追加

android:noHistory=true
于 2013-03-18T14:55:59.363 に答える
0

登録画面でログインの詳細を取得し、共有設定に保存した値と比較します。または、ユーザー名が admin でパスワードが admin のようなハードコード。両方の値が true で、スプラッシュ スクリーンに入るだけです。それ以外の場合は、好きなように他のページにリダイレクトします。

于 2013-03-18T14:54:31.387 に答える