一、获取权限,使我们的app变成特权app,可参考https://www.cnblogs.com/javabull/p/12115397.html
二、编写逻辑代码
1 import java.net.URL; 2 import java.net.URLConnection; 3 4 public class SynchronizeTimeThread implements Runnable { 5 6 @OverrIDe 7 public voID run() { 8 while (true){ 9 visitURL("https://www.baIDu.com/");10 try {11 Thread.sleep(360000);//定时更新12 } catch (InterruptedException e) {13 e.printstacktrace();14 }15 }16 }17 18 /**19 * 网址访问20 *21 * @param url 网址22 * @return urlDate 对象网址时间23 * 24 */25 private voID visitURL(String url) {26 try {27 URL url1 = new URL(url);28 URLConnection conn = url1.openConnection(); //生成连接对象29 conn.connect(); //连接对象网页30 Long date = conn.getDate();31 if (date!=null){32 SystemClock.setCurrentTimeMillis(date);33 }34 } catch (Exception e) {35 e.printstacktrace();36 37 }38 }39 }
在MainActivity的onCreate中开启线程来获取网页上的时间,但要注意的是,我们还需要设置时区。
1 //更新系统时间2 private voID toSynchronizeSystemTime(){3 AlarmManager mAlarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);//获取服务4 mAlarmManager.setTimeZone("Asia/Shanghai");//上海5 Thread thread = new Thread(new SynchronizeTimeThread());6 thread.setname("ToGetTime");7 thread.start();8 }总结
以上是内存溢出为你收集整理的Android app校正系统时钟全部内容,希望文章能够帮你解决Android app校正系统时钟所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)