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

버전체크해서 업데이트하는 방법 알고 싶습니다.

0 추천
앱을 만들어서 마켓에 올려 업데이트 테스트중인데 궁금한점이 있어 문의 올립니다.
마켓에 앱을 업데이트하고, 사용자가 앱에 접속하면 dialog box를 띄워 업데이트가 되었음을 알려서 dialog box의 ok버튼을 클릭하면 해당 앱의 마켓으로 이동하여 업데이트를 하는 방식입니다.

여기서 제가 궁금한것은 업데이트 알림이 떠서 업데이트 버튼을 클릭해 마켓으로 이동하면 마켓에 '업데이트'버튼이 아닌 '열기' 버튼이 뜹니다. 왜 그런 건지요?

어플을 삭제하고 마켓으로 이동해야 하는 건가요?

참고로, 테스트 폰에 설치한 어플은 PC에서 직접 빌드해서 설치했습니다.

아시는 분 도움주시면 좋겠고,

참고할만한 사이트나 소스 있으시면 알려주시면 감사하겠습니다.

else if(!sVersion.equals(getVersionName(getBaseContext()))) {
      AlertDialog.Builder ad=new AlertDialog.Builder(VersionChk.this);
      ad.setTitle("업데이트 안내");
      ad.setMessage("현재버전: " + getVersionName(getBaseContext()));
      ad.setPositiveButton("OK",new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog,int whichButton) {
                     Uri uri = Uri.parse("https://play.google.com/store/apps/details?id=com.xxx.xxx");                                Intent intent = new Intent(Intent.ACTION_VIEW, uri);  
                     startActivity(intent);
            }
      });
      ad.setNegativeButton("No", new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialog, int which) {
                   dialog.dismiss();
                   Intent i = new Intent(VersionChk.this, MainActivity.class);    
                  startActivity(i);
           }
      });    

     ad.create();
     ad.show();
아자>> (120 포인트) 님이 2015년 10월 12일 질문

1개의 답변

0 추천
build.gradle 을 체크하여 versionCode를 확인합니다.

마켓에 올라와있는 versionCode 와 현재 versionCode 를 비교하여

마켓버전이 더 높을경우 업데이트로 바뀝니다.

상기 문제는 versionName만 바꿧을 가능성이 높네요, 소스코드의 versionCode 확인바랍니다.
홍월령 (4,240 포인트) 님이 2015년 10월 12일 답변
AndroidManufast.xml의 versionCode,versionName은 확인했습니다.
1.0 -> 2.0으로 되었고, version 비교는 되고,
업데이트 알림창에서  OK버튼을 클릭해 마켓으로 이동하면 마켓에 '업데이트'버튼이 아닌 '열기' 버튼이 보여서, 이 부분을 어떻게 처리해야 하는지 질문드렸습니다.
versionCode 외에 다른 경우의 수는 존재하지 않습니다.

따로 처리할것도 없구요

마켓 버전 2.0 소스버전 1.0인데 업데이트가 안된다는 소리신거 같은데

나머지 확인할 부분은

마켓에 있는 버전이 정말 2.0인지(올린다고 바로 업데이트 되는건 아니므로)
android studio를 쓰고 있는지(AndroidManufast 보다 gradle 우선)
같은 release version 으로 build 했는지 정도 되겠네요
...