Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓许可证“;“许可响应”;错误_Java_Android_Android Lvl - Fatal编程技术网

Java 安卓许可证“;“许可响应”;错误

Java 安卓许可证“;“许可响应”;错误,java,android,android-lvl,Java,Android,Android Lvl,我在测试LVL的“许可”响应时遇到问题。我已经在market网站的编辑配置文件中更改了仪表板中的测试许可响应 当我设置为“未授权”时,它会提示购买或退出,但如果我设置为许可,在等待“检查许可”进度条后,它不会加载我的主活动页面,检查许可无限循环,我需要强制关闭该过程。我已经在清单中添加了licensecheck Java文件名,并包含了intent部分 以下是我在logcat中捕获的内容。有人知道发生了什么吗?如何修复代码 I/LICENSE ( 312): checkLicense I/Li

我在测试LVL的“许可”响应时遇到问题。我已经在market网站的编辑配置文件中更改了仪表板中的测试许可响应

当我设置为“未授权”时,它会提示购买或退出,但如果我设置为许可,在等待“检查许可”进度条后,它不会加载我的主活动页面,检查许可无限循环,我需要强制关闭该过程。我已经在清单中添加了licensecheck Java文件名,并包含了intent部分

以下是我在logcat中捕获的内容。有人知道发生了什么吗?如何修复代码

I/LICENSE (  312): checkLicense
I/LicenseChecker(  312): Binding to licensing service.
I/ActivityManager(   59): Start proc com.android.vending for service com.android.vending/.licensing.LicensingService: pid=320 uid=10019 gids
={3003}
I/LicenseChecker(  312): Calling checkLicense on service for com.test.apps1
I/ActivityManager(   59): Displayed activity com.test.apps1/.MActivity: 3586 ms (total 3586 ms)
I/LicenseChecker(  312): Start monitoring timeout.
I/ARMAssembler(   59): generated scanline__00000077:03515104_00000000_00000000 [ 33 ipp] (47 ins) at [0x305798:0x305854] in 914005 ns
D/GoogleLoginService(  170): onBind: Intent { act=android.accounts.AccountAuthenticator cmp=com.google.android.gsf/.loginservice.GoogleLogin
Service }
I/LicenseChecker(  312): Received response.
I/LicenseChecker(  312): Clearing timeout.
E/LicenseValidator(  312): CORI APP LICENSED!
W/ServerManagedPolicy(  312): License validity timestamp (VT) missing, caching for a minute
W/ServerManagedPolicy(  312): License retry timestamp (GT) missing, grace period disabled
W/ServerManagedPolicy(  312): Licence retry count (GR) missing, grace period disabled
D/LicenseChecker(  312): Allow
I/ActivityManager(   59): Starting activity: Intent { cmp=com.test.apps1/.MActivity }
I/LICENSE (  312): checkLicense
D/dalvikvm(  312): GC_FOR_MALLOC freed 3870 objects / 267592 bytes in 92ms
I/LicenseChecker(  312): Using cached license response
D/LicenseChecker(  312): Allow
I/ActivityManager(   59): Starting activity: Intent { cmp=com.test.apps1/.MActivity }
I/LICENSE (  312): checkLicense
I/LicenseChecker(  312): Using cached license response
D/LicenseChecker(  312): Allow
I/ActivityManager(   59): Starting activity: Intent { cmp=com.test.apps1/.MActivity }
I/LICENSE (  312): checkLicense
I/LicenseChecker(  312): Using cached license response
D/LicenseChecker(  312): Allow
I/ActivityManager(   59): Starting activity: Intent { cmp=com.test.apps1/.MActivity }
I/LICENSE (  312): checkLicense
I/LicenseChecker(  312): Using cached license response
D/LicenseChecker(  312): Allow
I/ActivityManager(   59): Starting activity: Intent { cmp=com.test.apps1/.MActivity }
I/LICENSE (  312): checkLicense
I/LicenseChecker(  312): Using cached license response
D/LicenseChecker(  312): Allow
I/ActivityManager(   59): Starting activity: Intent { cmp=com.test.apps1/.MActivity }
I/LICENSE (  312): checkLicense
W/ActivityManager(   59): Launch timeout has expired, giving up wake lock!
W/ActivityManager(   59): Activity idle timeout for HistoryRecord{44003148 com.test.apps1/.MActivity}
这与缓存响应时间戳有关吗?如果是,我如何更改和修改它

W/ServerManagedPolicy(  312): License validity timestamp (VT) missing, caching for a minute
W/ServerManagedPolicy(  312): License retry timestamp (GT) missing, grace period disabled
W/ServerManagedPolicy(  312): Licence retry count (GR) missing, grace period disabled

我是否需要修改ServerManagedPolicy

public boolean allowAccess() {
    long ts = System.currentTimeMillis();
    if (mLastResponse == LicenseResponse.LICENSED) {
        // Check if the LICENSED response occurred within the validity timeout.
        if (ts <= mValidityTimestamp) {
            // Cached LICENSED response is still valid.
            return true;
        }
    } else if (mLastResponse == LicenseResponse.RETRY &&
               ts < mLastResponseTime + MILLIS_PER_MINUTE) {
        // Only allow access if we are within the retry period or we haven't used up our
        // max retries.
        return (ts <= mRetryUntil || mRetryCount <= mMaxRetries);
    }
    return false;
}
public boolean allowAccess(){
长ts=System.currentTimeMillis();
if(mLastResponse==LicenseSponse.LICENSED){
//检查许可响应是否在有效期超时内发生。

如果(ts当您将测试响应设置为“正常响应”以外的任何选项时,关于缺少VT、GT和GR的消息是正常的。代码中可能存在逻辑问题。如果您可以发布startMainActivity()和onCreate()方法(以及它们调用的任何相关方法)的代码,这可能会有所帮助.

当您将测试响应设置为“正常响应”以外的任何选项时,关于缺少VT、GT和GR的消息都是正常的。代码中可能存在逻辑问题。如果您可以发布startMainActivity()和onCreate()方法(以及它们调用的任何相关方法)的代码,这可能会有所帮助.

Hello Ted,我终于找到了问题所在,所以我可以在response设置为LICENSED时运行应用程序。但我现在有另一个问题。不确定您是否可以给我一些提示。当我在emulator中测试时,似乎我甚至禁用或启用网络连接都没有问题。它可以在检查许可证后运行。但是当我在android手机中,当我第一次启用网络连接时,许可证检查成功并运行应用程序,然后我禁用网络连接,然后它似乎找不到缓存的许可证,并运行disallow()代码。如果您在手机上使用测试帐户,并且在开发人员控制台中指定了特定的响应,则响应将不会被缓存。您是否尝试过将测试响应设置为默认响应时会发生什么情况?该响应将具有有效的VT、GT和GR数据,因此将被缓存。您好,Ted,我终于找到了out有什么问题,所以我可以在response设置为LICENSED时运行应用程序。但我现在有另一个问题。不确定您是否可以给我一些提示。当我在emulator中测试时,似乎我没有问题,即使我禁用或启用网络连接。它可以在检查许可证后运行。但是当我在android手机中测试时,当我rst启用网络连接,成功检查许可证并运行应用程序,然后我禁用网络连接,然后它似乎找不到缓存的许可证,并运行disallow()代码。如果您在手机上使用测试帐户,并且在开发人员控制台中指定了特定的响应,则响应将不会被缓存。您是否尝试过将测试响应设置为默认响应时会发生什么情况?该响应将具有有效的VT、GT和GR数据,因此将被缓存。
public boolean allowAccess() {
    long ts = System.currentTimeMillis();
    if (mLastResponse == LicenseResponse.LICENSED) {
        // Check if the LICENSED response occurred within the validity timeout.
        if (ts <= mValidityTimestamp) {
            // Cached LICENSED response is still valid.
            return true;
        }
    } else if (mLastResponse == LicenseResponse.RETRY &&
               ts < mLastResponseTime + MILLIS_PER_MINUTE) {
        // Only allow access if we are within the retry period or we haven't used up our
        // max retries.
        return (ts <= mRetryUntil || mRetryCount <= mMaxRetries);
    }
    return false;
}