마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Android Studio In-App Update가 반응이 없습니다.

0 추천

안녕하세요.

플레이스토어에 출시되어 있는 앱의 버전보다 낮으면 업데이트가 되게끔 되는 기능을 찾다가

In - App Update를 발견하여 사용하게 되었습니다. 하지만 앱을 실행시켜보면 에러조차 뜨지 않아 많은 어려움을 겪고 있습니다.

고수님들의 많은 조언 부탁드리겠습니다.

소스코드 입니다.

private void checkUpdate() {
    mAppUpdateManager = AppUpdateManagerFactory.create(getApplicationContext());

    // 업데이트를 사용 가능한 상태인지 체크
    Task<AppUpdateInfo> appUpdateInfoTask = mAppUpdateManager.getAppUpdateInfo();
    appUpdateInfoTask.addOnSuccessListener(new OnSuccessListener<AppUpdateInfo>() {
        @Override
        public void onSuccess(AppUpdateInfo result) {
            if (result.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
                    &&
                    result.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {

                    // 업데이트가 사용 가능한 상태
                try {
                    mAppUpdateManager.startUpdateFlowForResult(result, AppUpdateType.IMMEDIATE, SplashActivity.this, MY_REQUEST_CODE);
                } catch (IntentSender.SendIntentException e) {
                    Log.e("AppUpdater", "AppUpdateManager Error", e);
                    e.printStackTrace();

                }
            } else {
                // 업데이트가 없는 상태
                Log.d("AppUpdater" ,"업데이트가 없습니다.");
            }
        }

    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == MY_REQUEST_CODE) {
        if(requestCode != RESULT_OK) {
            Log.d("AppUpdate", "Update low failed! Result colde" + resultCode);
            Toast.makeText(this, "앱을 사용하기 위해서는 업데이트가 필요합니다.", Toast.LENGTH_SHORT).show();
            finishAffinity();
        }
    }
}

@Override
protected void onResume() {
    super.onResume();

    mAppUpdateManager.getAppUpdateInfo().addOnSuccessListener(
            new OnSuccessListener<AppUpdateInfo>() {
                @Override
                public void onSuccess(AppUpdateInfo result) {
                    if (result.updateAvailability()  == UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS) {
                        try {
                            mAppUpdateManager.startUpdateFlowForResult(result, AppUpdateType.IMMEDIATE, SplashActivity.this, MY_REQUEST_CODE);
                        }catch (IntentSender.SendIntentException e) {
                            e.printStackTrace();
                        }
                    }
                }
            });
}
bomkyu (260 포인트) 님이 2020년 5월 22일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...