3

我正在尝试在尚未发布的应用程序中使用 Android 营销许可。

我已经使用 ServerManagedPolicy 安装并集成了 LVL 库。

问题是,在运行许可证检查时,无一例外地调用 LicenseCheckerCallback.dontAllow 并返回响应“RETRY”。

我已经阅读了很多关于这个主题的帖子,并且......

  • 清单文件包含 CHECK_LICENSE 权限
  • 我正在运行与上传到开发者帐户完全相同的 .apk 文件
  • 我已将测试用户添加到开发者帐户
  • 运行 2.2 的模拟器和运行 2.3 的设备上的响应相同
  • 无论是作为测试用户还是开发者用户登录,响应都是一样的
  • 无论我在开发者帐户中选择了 LICENSED 还是 NOT_LICENCED,响应都是相同的
  • 尽管模拟器和设备始终都有互联网连接,但没有连接时的响应实际上是相同的
  • 代码目前没有被混淆

我的代码基本上是文档提供的...

String deviceId = Settings.Secure.getString(getContentResolver(),Settings.Secure.ANDROID_ID);

mLicenseCheckerCallback = new MyLicenseCheckerCallback();
mChecker = new LicenseChecker(
            this, new ServerManagedPolicy(this,
                    new AESObfuscator(SALT, getPackageName(), deviceId)),
            BASE64_PUBLIC_KEY);

mChecker.checkAccess(mLicenseCheckerCallback);

我还有什么选择可以让这个工作?

4

1 回答 1

3

答案竟然在这里…… Android Context.bindService 总是返回 false 并且永远不会触发 ServiceConnection 对象

许可证检查是从标签页调用的,所以代码应该是......

String deviceId = Settings.Secure.getString(getContentResolver(),Settings.Secure.ANDROID_ID);

mLicenseCheckerCallback = new MyLicenseCheckerCallback();
mChecker = new LicenseChecker(
        getApplicationContext(), new ServerManagedPolicy(this,
                new AESObfuscator(SALT, getPackageName(), deviceId)),
        BASE64_PUBLIC_KEY);

mChecker.checkAccess(mLicenseCheckerCallback);
于 2012-04-16T14:27:24.113 回答