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

제가 만든 앱에 구글 플레이의 LVL을 적용하려고하는 데 applicationError가 납니다.

0 추천

제가 만든 앱에 LVL을 적용하고 있습니다. 그런데, 계속해서 applicationError가 납니다. errorCode는 6번인데

찾아보니 6은  ERROR_MISSING_PERMISSION였습니다.

manifest파일에

<USES-PERMISSION android:name="com.android.vending.CHECK_LICENSE" />

<uses-permission android:name="android.permission.INTERNET"/>

도 적용되어 있습니다.

 


    
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		....
		
		if( mValidation !=  VALIDATION_SUCCESS_SET ){
			String deviceId = Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);
	        mLicenseCheckerCallback = new MyLicenseCheckerCallback();
	       
	       	// Construct the LicenseChecker with a policy.
	        mChecker = new LicenseChecker(
	        		getApplicationContext(), new ServerManagedPolicy(this,new AESObfuscator(SALT, getPackageName(), deviceId)),
	             BASE64_PUBLIC_KEY);
	        doCheck();
	        
	    }else{
	    	mValidation = VALIDATION_SUCCESS_SET;
	    }
		//-------------------------
	   		
		if(mValidation == VALIDATION_SUCCESS_SET){
			setContentView(R.layout.main); 
			...
		}
	}
	
	private void doCheck(){
		mChecker.checkAccess(mLicenseCheckerCallback);
	}

	protected void onDestory(){
		super.onDestroy();
		mChecker.onDestroy();
		
	}
	

	/********************************************************************
	 * 
	 */
	private class MyLicenseCheckerCallback implements LicenseCheckerCallback{
		
		public void allow(int policyReason){
			if(isFinishing()){
				// Don't update UI if Activity is finishing.
				return;
			}
      mValidation = VALIDATION_SUCCESS_SET;
      ..
		}
		public void dontAllow(int policyReason){
			if(isFinishing()){
				// Don't update UI if Activity is finishing.
				return;
			}
      onLicenseNotFoundDialog();
			
		}
		public void applicationError(int errorCode){
			
			Log.e(tag,"=====================================");
			Log.e(tag,"applicationError errorCode : " + errorCode);
			Log.e(tag,"=====================================");
			if(isFinishing()){
				// Don't update UI if Activity is finishing.
				return;
			        onLicenseNotFoundDialog();
		}
	}
}

소스올립니다.. 

왜  ERROR_MISSING_PERMISSION가 나는 지 모르겠습니다..

아시는 분 답변 부탁드립니다....

초한지 (210 포인트) 님이 2013년 3월 10일 질문

1개의 답변

0 추천
 
채택된 답변
자답 올립니다...

위의 소스에는 문제가 없었습니다...

라리브러리가 잘못만들어졌던 것 같습니다...라리브러리를 다시 만들고테스트하니 잘되네요...
초한지 (210 포인트) 님이 2013년 3월 10일 답변
...