每次你的应用程序开始或退出时保存当前的日期时间。如果下一次系统日期是较早的值,那么您知道时间已被篡改。
只有拥有互联网接入权限,您才有完美的解决方案。如果这样做,那么有一百万种方法可以缩短时间,甚至可以回拨您的服务器来检查试用许可证是否仍然有效。
检查互联网时间的一种方法是向HTTP服务器发出简单请求。例如谷歌(你应该使用自己的服务器)。
请求:
HEAD/HTTP/1.1
Host: google.com
响应:
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Wed, 09 Mar 2011 16:04:48 GMT
Expires: Fri, 08 Apr 2011 16:04:48 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
正如你可以看到所有的HTTP服务器报到的Date
标题%1当前系统日期。
但是,再次,这根本就没有关系。如果互联网连接对于您的软件工作至关重要,您可以在您自己的服务器上使用联机许可证检查。如果没有,那么用户可以在使用按钮时关闭其连接。
这个到期有多重要?更改手机上的当前时间会影响很多应用程序,例如日历,所以我想大多数用户都不会打扰。也许你可以和一个或几个骗子生活在一起? – vidstige 2011-03-09 15:24:55