즉시 처음 시작으로 활동을 기본 활동을 확인

ULYSSE :

나는 그것의 잘못은, 토스트 그가 방금 입력 한 문자열이 잘못이 새로운 사실이다하는 사용자 뜹니다 경우 글고 치기에 입력 한 문자열이 공유 환경 설정에 저장되어있는 것과 동일한 지 여부를 조사하는 안드로이드 응용 프로그램을 작성했습니다 활동은 열려 있습니다. 나는이 공개 활동이 사용자가 응용 프로그램을 열 때마다 열 수 싶습니다.

여기에 내가 시도 할 것입니다 :

private PreferenceHelper preferenceHelper;
private ParseContent parseContent;
private final int RegTask = 1;
private EditText editText;
private Button button;
private String string;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login2);

    parseContent = new ParseContent(this);
    preferenceHelper = new PreferenceHelper(this);

    editText = findViewById(R.id.code);
    button = findViewById(R.id.abonnement);

    final SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0);

    button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            string = editText.getText().toString();
            if (string.equals(pref.getString("code", null))){
                Intent intent = new Intent(Login.this, WelcomeActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
            }else {
                Toast.makeText(Login.this, "Désolé mais votre code est incorrect",Toast.LENGTH_LONG).show();
            }
        }
    });
}

사용자가 올바른 코드를 입력하면 기본 설정에서 이전에 등록 된 코드가 공유 즉, WelcomeActivty.class열리지 만 사용자가 응용 프로그램을 종료하고 다시 입력 할 때, Login.class내가 좋아하는 것 중에 항상 표시되어 WelcomeActivity.class사용자가 응용 프로그램을 다시 입력 할 때마다 출시 될 .. ..How 나는이 좀 할 수 있을까요?!

Surianto :

참고 : 당신이 로그인 시스템에서 작동하지 않는 경우에도, (암호 없음) 로그인 시스템을 만들어, 난 아직이 기술은 여전히 귀하의 경우에 적용 할 수 있다고 생각합니다.

부울 값 저장은 사용자가 온라인인지 여부를 확인하는 또 다른 sharedpreference를 추가하려고합니다. 예를 들어, 당신의 LoginActivity에 추가

editor.putBoolean ( "isOnline", TRUE); editor.apply ();

당신은 로그인 버튼을 클릭합니다.

마찬가지로, 로그 아웃 할 때, 바로 넣어

editor.putBoolean ( "isOnline", 거짓); editor.apply ();

이것은 내가 당신의 문제에 따라 한 방법이다.

MainActivity.java (이 로그인 활동)

  public class MainActivity extends AppCompatActivity {

    SharedPreferences pref;
    SharedPreferences.Editor editor;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final EditText et = findViewById(R.id.et);
        Button btnRegister = findViewById(R.id.btn_register);
        Button btnLogin = findViewById(R.id.btn_login);



        pref = getSharedPreferences("MyPref", MODE_PRIVATE);
        editor = pref.edit();

        btnRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                editor.putString("username", et.getText().toString());
                editor.putBoolean("isOnline", false);
                editor.apply();
            }
        });

        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if (et.getText().toString().equals(pref.getString("username", null))) {

                    Intent intent = new Intent(getApplicationContext(), WelcomeActivity.class);
                    intent.putExtra("name", et.getText().toString());
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);

                    editor.putBoolean("isOnline", true);
                    editor.apply();

                    startActivity(intent);
                    finish();
                }
                else {
                    Toast.makeText(MainActivity.this, "Incorrect input", Toast.LENGTH_LONG).show();
                }
            }
        });

// This is when user has not clicked the log out button, then we go to the WelcomeActivity instead
        if (pref.getBoolean("isOnline", false)) {

            startActivity(new Intent(getApplicationContext(), WelcomeActivity.class));
            finish();
        }
    }
}

WelcomeActivity.java (활동 우리는 로그인 후 방문)

public class WelcomeActivity extends AppCompatActivity {
    SharedPreferences pref;
    SharedPreferences.Editor editor;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_welcome);


        pref = getSharedPreferences("MyPref", MODE_PRIVATE);
        editor = pref.edit();

        editor.putBoolean("isOnline", true);
        editor.apply();

        Button btnLogout = findViewById(R.id.logout);
        btnLogout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                // When user clicks on the logout button, we set this to false. So everything will be back to normal.
                editor.putBoolean("isOnline", false);
                editor.apply();

                if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
                    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(intent);
                    finishAffinity();
                }
                else {
                    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(intent);
                    finish();
                }
            }
        });
    }
}

추천

출처http://43.154.161.224:23101/article/api/json?id=317712&siteId=1