128june

[Android Studio] 자연스러운 페이지 이동하기 본문

Android Studio

[Android Studio] 자연스러운 페이지 이동하기

128june 2021. 2. 27. 14:13
반응형

처음 인트로에서 자동으로 몇초 후 이동하도록 하기 위해서 Handler를 사용했다.

추가로 Location Permission 기능을 확인해서 없다면 해당 페이지로 이동하도록 추가하였다.


Handler

Handler mHandler = new Handler()
{
    @Override
    public void handleMessage(Message msg) {
        // isLocationPermission true  : Main 으로 이동
        // isLocationPermission false : 권한동의 페이지로 이동
        if(isLocationPermission())
        {
            Intent it = new Intent(Intro.this, MainActivity.class);
            startActivity(it);
            finish();
        }
        else
        {
            Intent it = new Intent(Intro.this, PermissionView.class);
            startActivity(it);
            finish();
        }
        super.handleMessage(msg);
    }
};

Location Permission

private boolean isLocationPermission() {
    // 권한 체크
    int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION);
    // DENIED일 때
    if (permissionCheck == PackageManager.PERMISSION_DENIED)
    {
        ActivityCompat.requestPermissions(Intro.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, LOCATION_PERMISSION_ID);
        return false;
    }
    // 그외
    else
    {
        return true;
    }
}

위의 두 내용을 포함하여 handler 기능을 onCreate 에 적용시켰다.

// delay는 1500으로 설정하여 1.5초 뒤에 실행되도록 적용하였다.

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

    mHandler.sendEmptyMessageDelayed(0, 1500);

}

 

반응형
Comments