2015-01-31 25 views
0

我試圖創建Android版具有的應該每五分鐘左右,或幾秒鐘刷新用戶做服務中的變更後的Web視圖混合應用程序。我試過的大多數解決方案都可以歸納爲this SO question's answer.問題是,每次應用程序試圖通過它刷新Web視圖時,軟件崩潰是因爲「UI元素已從非UI線程調用」。製作的Android的WebView自動刷新定期

是否有另一種選擇?我想我可以通過網頁中的Javascript定期刷新,但考慮到即使沒有網絡,我們的應用程序也可以運行,但當用戶更改本地狀態時,我們不能刷新它,它是不是最佳的。有沒有人有什麼建議?

在此先感謝

+0

用戶是否更改網站頁面上的信息?或使用Android小部件並將信息發送到網站? – 2015-01-31 19:19:23

+0

使用android小部件並將信息發送到網站。 – Xevas 2015-02-01 16:12:25

+0

你可以發佈你已經實現的web視圖的代碼,所以我可以看到你是如何實現它? – 2015-02-01 16:15:49

回答

3

以Toast爲例說明如何繼續調用它。你可以調用reload();在用戶改變信息而不是onCreate之後。

負載在OnCreate

Toast.makeText(LogThirdPager.this, "Hello", Toast.LENGTH_SHORT).show(); 
// mWebview.loadUrl("http://www.google.com"); 
reload(); 

後,然後調用它。例如,它將繼續每5秒鐘重新載入頁面。

public void reload() { 
    final Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      // Do something after 5s = 5000ms 
      Toast.makeText(LogThirdPager.this, "Hello", Toast.LENGTH_SHORT).show(); 
      reload(); 
      // mWebview.loadUrl("http://www.google.com"); 
     } 
    }, 5000); 
} 
+0

這似乎工作。謝謝。 – Xevas 2015-02-01 16:18:08

+0

太棒了!樂意效勞。乾杯! – 2015-02-01 16:18:31