我的应用程序是一种袖珍指南,包含全年的一些数据.我假设用户将至少使用该程序一次访问Internet以激活许可证.或者至少这是我对Android许可系统如何工作的理解.我正在使用ServerManagedPolicy.
是否定期检查许可证?有什么办法可以控制吗?我不希望我的用户是在中间的地方,与已经和以前激活,1周,1个月,1年等之后突然应用程序启动限制了应用程序的可用性的应用程序本身,因为许可证couldn" 再次验证.我的应用程序将要和不稳定的网络访问偏僻的地方,使用的人谁就会生活在那里几个星期,也许几个月(不能想当然所有的时间).
我觉得我应该至少警告他们每隔X周就要问他们这样做.许可证制度是否是严厉的?
我知道我可以在applicationCheckerCallback的applicationError void上使用ERROR_CONTACTING_SERVER标志来处理错误."VT"响应是否始终相同(无法在测试帐户/我的帐户上测试)?我只是好奇你们如何在自己的现实应用程序中处理这种情况.我在这里错过了什么吗?出于某种原因,我感觉自己是.有没有"捕获"?
//编辑:
这是我正在尝试的代码:
// ServerManagedPolicy.java
private void setValidityTimestamp(String validityTimestamp) {
Long lValidityTimestamp;
try {
lValidityTimestamp = Long.parseLong(validityTimestamp);
} catch (NumberFormatException e) {
// No response or not parsable, expire in one minute.
Log.w(TAG, "License validity timestamp (VT) missing, caching for a minute");
lValidityTimestamp = System.currentTimeMillis() + MILLIS_PER_MINUTE;
validityTimestamp = Long.toString(lValidityTimestamp);
}
// added by me--->
private static long maxLicense = 1000 * 3600 * 24 * 30; // ~ roughly 30 days
private static …Run Code Online (Sandbox Code Playgroud)