Android app校正系統時鍾


一、獲取權限,使我們的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     }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM