首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android LVL (许可服务)非常慢!--解决方案?异步?

Android LVL (许可服务)非常慢!--解决方案?异步?
EN

Stack Overflow用户
提问于 2011-08-21 14:29:59
回答 3查看 508关注 0票数 4

我在网上浏览了一下,看到其他一些帖子抱怨Android许可(LVL)库速度太慢,但没有解决方案。在HTC Thunderbolt (全新手机)上,它会将测试应用程序的启动时间延迟3-5秒以上。

有没有人有异步调用这个库的经验或想法?其他解决方案?基本上,我只是使用提供的示例代码。真正恼人的部分是,整个应用程序都被冻结了,而这个简单的许可证检查发生了,这真的很糟糕。

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2012-07-25 22:27:29

笨蛋弄明白了: licenseCheck是异步的。

因此,只需启动它,然后使用接下来的几行代码打开应用程序,当响应到达时,这将中断应用程序(即,如果您设置了一个对话框,如果许可证无效,那么您的应用程序将开始加载,然后对话框出现,这将阻止所有内容)。

请确保在“不允许”情况下的所有代码的后续操作中包含finish()。

很棒的结果:应用程序在加载时间上损失了4到5秒。

票数 0
EN

Stack Overflow用户

发布于 2018-03-23 21:35:38

我可能是错的,但我感觉LVL服务器在调试模式下使用时非常慢和错误,也就是说,当我直接使用Android Studio在我的设备上安装应用程序并通过更改Google Play控制台中的响应来测试LVL实现时。实际上,在这种情况下,使用的是沙箱服务器,而不是Google Play生产服务器。

因此,为了对LVL实现有快速和正确的响应,我上传了一个测试apk (带有toast以查看LVL响应)到beta测试通道中的Google Play控制台。然后,我从Google Play下载了apk,这要归功于Google Play beta测试URL。LVL的响应速度快得多,也很可靠。

如果你证实了这一点,请告诉我。

票数 0
EN

Stack Overflow用户

发布于 2011-08-22 00:50:27

在您的活动中实现LicenseCheckerCallback,并像这样调用它:

代码语言:javascript
运行
复制
mLicenseChecker = new LicenseChecker(this, new MyPolicy(this, new AESObfuscator(getSalt(), getPackageName(), getDeviceId())), PUBLIC_KEY);
mLicenseChecker.checkAccess(new MyCheckerCallback());
mHandler = new Handler();

如果许可证无效,则发送到处理程序:在MyCheckerCallback

代码语言:javascript
运行
复制
public void dontAllow() {
    if (isFinishing()) {
        return; //don't update UI when app is finishing
    }
    mHandler.post(new Runnable() {
    public void run() {
        //show toast message stating license is invalid
        //redirect user to Market
        //call finish()
        }
    });
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7136786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档