http://202psj.tistory.com/571


http://blog.naver.com/PostView.nhn?blogId=lion_kwon&logNo=40191745058


http://wp.goodchois.kr/devtip/archives/372


http://code.google.com/p/android-market-api/ 

 

개발자 입장에서 쌔가빠지게 업데이트 게속 해줘도

 

업데이트 하나도 안하는 사용자들이 너무 많다!!

 

주위에 보면 그런 사람 잇더라..

 

그렇다고 따로 서버 둬서 체크하자니까 그냥 앱혼자노는 어플은 부담스럽다

 

구글플레이에 돈주고 개발자 등록했는데 요정도 서비스는 해줘야하는거 아닌가~~

 

 

그렇다 해준다.

 

버전체크 api를 이용해서

 

정보를 가져와서 사용하자~

 

Build.VERSION.SDK_INT 일케 가져온담에 맞춰서 하자

 

 MarketSession session = new MarketSession();
   session.login("id","pw"); // 구글 아무 계정이나 되는듯..?
//   session.getContext.setAndroidId(myAndroidId);

   String query = "com.kwon.kwonyangsanbus"; // 앱 이름 또는 패키지 명 다 쿼리 되는듯.. 근데 내꺼 안뜨냐 ?
   AppsRequest appsRequest = AppsRequest.newBuilder()
                                   .setQuery(query)
                                   .setStartIndex(0).setEntriesCount(10)
                                   .setWithExtendedInfo(true)
                                   .build();

   session.append(appsRequest, new Callback<AppsResponse>() {
            @Override
            public void onResult(ResponseContext context, AppsResponse response) {
                     // Your code here
                     // response.getApp(0).getCreator() ...
                     // see AppsResponse class definition for more infos
             Logger.error("앱갯수 : "+response.getAppCount());
             for(int i = 0 ; i < response.getAppCount(); i++){
              Logger.error(i+"  "+response.getApp(i).getTitle());
              Logger.error(i+"  "+response.getApp(i).getCreator());
              Logger.error(i+"  "+response.getApp(i).getPackageName());
              Logger.error(i+"  "+response.getApp(i).getVersion());
              Logger.error(i+"  "+response.getApp(i).getVersionCode());
             }
            }
   });
   session.flush();

 

 

스레드로 변경

 

//AsyncTask<params,progress,result>
    private class ProcessFacebookTask extends AsyncTask<voidvoid="" void,="">{
      @Override
               protected Void doInBackground(Void... params) {
                       try
                    {
                        // TODO Auto-generated method stub
                         MarketSession session = new MarketSession();
                           session.login("google_id","google_pw");
                           session.getContext().setAndroidId(androidId(MainActivity.this));
                           String query = "카카오톡";
                           AppsRequest appsRequest = AppsRequest.newBuilder()
                                                           .setQuery(query)
                                                           .setStartIndex(0).setEntriesCount(10)
                                                           .setWithExtendedInfo(true)
                                                           .build();
                           session.append(appsRequest, newCallback<appsresponse>() {
                                    @Override
                                    public void onResult(ResponseContext context, AppsResponse response) {
                                     Logger.error("앱갯수 : "+response.getAppCount());
                                     for(int i = 0 ; i < response.getAppCount(); i++){
                                          Logger.error(i+"title =  "+response.getApp(i).getTitle());
                                          Logger.error(i+"  "+response.getApp(i).getCreator());
                                          Logger.error(i+"  "+response.getApp(i).getPackageName());
                                          Logger.error(i+"  "+response.getApp(i).getVersion());
                                          Logger.error(i+"  "+response.getApp(i).getVersionCode());
                                    }
                                   }
                           });
                           session.flush();
                    }
                    catch (Exception e)
                    {
                      e.printStackTrace();
                    }
                     return null;
               }
    }
 
 
//안드로이드 아이디 가져오기
    public String androidId(Context context) {
        Uri uri = Uri.parse("content://com.google.android.gsf.gservices");
        String key = "android_id";
        String[] paStrings = {key};
        Cursor c = context.getContentResolver().query(uri, nullnull, paStrings, null);
        if(!c.moveToFirst() || c.getColumnCount() <2return "";
        return Long.toHexString(c.getLong(1));
    }
</appsresponse></void,></params,progress,result>
 
 
메니페스트에 권한추가
 
 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES">
</uses-permission>