2010-12-17 5 views
1

완전히 새로운 버전을 출시하지 않고도 "프로" "업그레이드"를 판매하려는 앱의 "Lite"버전을 출시했습니다.활동이없는 Android 라이선스 사용

내 생각은 기본 응용 프로그램에서 인 텐트를 수신하여 자체적으로 라이센스 서비스를 쿼리하고 결과를 원래 응용 프로그램으로 반환하도록하는 수신기를 만드는 것이 었습니다. 그렇게하면 재판을 설치하고 원본 설치에서 데이터를 다시 설치하거나 잃지 않고도 "프로"라이센스 파일을 구입할 수 있습니다.

나는 자신의 활동을하지 않을 라이센스 "리스너"앱을 시작했습니다. 불행히도 나는 라이센스 서비스에 액세스하기 위해 이전에 사용했던 코드가 리스너 내부에서 실행하려고하기 때문에 작동하지 않는다는 것을 알았지 만 리스너에 대해서는 getContentResolver()가 존재하지 않습니다.

나는이 접근법으로 올바른 길을 찾아 내려 가고 있습니까? 아니면 더 쉬운 방법이 있습니까?

+0

주 앱 설치시 다른 라이센스 팩의 패키지 이름을 사용하여 설치되었는지 확인하는 LicenseChecker를 사용할 수 있습니까? 그런 식으로 라이선스 팩 응용 프로그램은 실제로 아무 것도하지 않아도됩니다. –

+0

잘 모르겠습니다. 무료 응용 프로그램에 CheckLicense 권한을 적용 할 수 없습니다. –

답변

0

ContentProvider에서 사용 했으므로 다른 용도로 사용할 수 있다고 가정합니다.

브로드 캐스트 수신기가있는 경우 브로드 캐스트 수신기의 수명주기 때문에 어려울 수 있습니다.

"라이센스 팩"을 별도의 서비스 또는 브로드 캐스트 리시버로 판매 할 수 있으며 요청시 인증을 수행 할 수 있습니다.

+0

ContentProvider를 사용할 때 결과를 얻을 때까지 응용 프로그램 프로세스가 차단되지 않습니까? –

+0

LicenseService는 자체 스레드에서 비 차단/실행됩니다. 프로세스가 활성 상태로 유지 될 수 있지만 ContentProvider는 라이센스가 완료되기 전에도 결과를 반환합니다. 나는 이미 콘텐츠를 사용하고 나서 사용자를 잔소리하게했다. – HaMMeReD

+0

감사. 방금 ContentProvider를 작성했습니다. 응용 프로그램을 열 때 ContentProvider를 먼저 확인하려고합니다. 그런데 결과가 필요 없습니다. 사용자가 라이센스가 필요한 항목을 수행하기 바로 전에 다시 확인합니다. 그러면 이미 답변이 있습니다. –

관련 문제