使用步骤
- 具体使用
- 时间转换
- 获取时间
- 超过限定时间弹窗告知,禁止使用
具体使用
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//时间格式
String mVersionEndTime = "2022-10-01 00:00:00";
checkAppPermissions(mVersionEndTime);
}
时间转换
private String dateToStamp(String time) throws ParseException {
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
date = simpleDateFormat.parse(time);
long ts = date.getTime();
return String.valueOf(ts);
}catch (java.text.ParseException e)
{
LoggerUtils.Log_d(TAG, "get time failed" + e.toString());
}
return null;
}
获取时间
获取系统时间或百度服务器时间
private long getNetTime() {
long current_time = System.currentTimeMillis();
URL url = null;//取得资源对象
try {
url = new URL("http://www.baidu.com");
URLConnection uc = url.openConnection();//生成连接对象
uc.connect(); //发出连接
current_time = uc.getDate(); //取得网站日期时间
} catch (Exception e) {
e.printStackTrace();
}
return current_time;
}
超过限定时间弹窗告知,禁止使用
private void checkAppPermissions(version_end_time)
{
Thread getTimeThread = new Thread(new Runnable() {
@Override
public void run() {
mCurrentTime = getNetTime();
}
});
getTimeThread.start();
try {
getTimeThread.join();
} catch (InterruptedException e) {
LoggerUtils.Log_d(TAG, String.format("getTimeThread error" + e.toString()));
}
String tm = dateToStamp(version_end_time);
long time = Long.parseLong(tm);
if(mCurrentTime >= time)
{
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this).setTitle("温馨提示")
.setMessage("您的使用权已过期,请联系相关人员获取最新版本权限")
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
finish();
}
});
Dialog dialog = alertDialog.create();
dialog.setCanceledOnTouchOutside(false);
dialog.setCancelable(false);
dialog.show();
LoggerUtils.Log_d(TAG, "您的使用权已过期,请联系相关人员获取最新版本权限");
}
}