我想把我的应用程序交给几个人进行测试,然后再将它提交给商店。 现在我想阻止他们免费传播应用程序。 我的想法是将以下代码添加到mainActivity的OnCreate方法中:
SntpClient client = new SntpClient();
boolean success = false;
for(int i= 0; i < 4; i++) {
success = client.requestTime(String.format("%d.de.pool.ntp.org",i),10000);
if(success) break;
}
if(success) {
long now = client.getNtpTime();
Date date = new Date(now);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd.MM.yyyy");
Date limit = simpleDateFormat.parse("15.10.2015",new ParsePosition(0));
if(limit.before(date)) finish();
} else {
finish();
}
这会使.apk文件在精简日期之后无用,不会吗? 或者有没有办法从文件中获取代码?
答案 0 :(得分:1)
你做错了。我假设您实施了应用内付款或Google应用内许可。如果是这样,您应该只在控制台中添加测试人员地址,这样他们的许可证验证就会通过。如果他们决定传播应用程序,则下一个用户将无法通过许可证验证。
答案 1 :(得分:1)
Play商店提供安全的beta测试机制,使用它而不是分发原始的.apk文件。
https://support.google.com/googleplay/android-developer/answer/3131213
答案 2 :(得分:-1)
如果client.requestTime
对您不重要,请在主Activity的onCreate中执行此操作,删除其余内容:
Date date = new Date(now);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd.MM.yyyy");
Date limit = formatter.parse("15.10.2015");
if(limit.before(date)){
finish();
}
如果当前日期在"15.10.2015"
之后,应用将关闭。