【问题标题】:How to refresh Android WebView activity every 5 seconds?如何每 5 秒刷新一次 Android WebView 活动?
【发布时间】:2018-09-08 05:27:49
【问题描述】:

我有一个 android 应用程序,我想为我的网站每 5 分钟刷新一次屏幕。有人可以帮忙吗?

这是我的代码

public class MainActivity extends Activity {
    private WebView mWebView;
    static {
        System.loadLibrary("native-lib");
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mWebView = (WebView) findViewById(R.id.activity_main_webview);
        WebSettings webSettings = mWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        mWebView.setWebViewClient(new WebViewClient());
        mWebView.loadUrl("https://google.com/");
    }

    public native String stringFromJNI();
}

【问题讨论】:

标签: android android-studio webview


【解决方案1】:

试试这个
解决方案 1:

Timer timer = new Timer ();

TimerTask hourlyTask = new TimerTask () {
@Override
public void run () 
{
    mWebView.loadUrl("https://google.com/");
}};
timer.schedule (hourlyTask, 0l, 5000*60*60);

解决方案 2:

public void reloadWebView() {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
         mWebview.loadUrl("http://www.google.com");
    }
}, 50000);}  

【讨论】:

    【解决方案2】:

    调用reload()方法onCreate()

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

    【讨论】:

      【解决方案3】:

      您可以像下面这样每 5 分钟使用一次TimerTask

      Timer timer=new Timer();
      TimerTask timerTask = new TimerTask() {
              @Override
              public void run() {
               if(webView!=null)
                  reload();   // reload your webview
              }
          };
      timer.scheduleAtFixedRate(timerTask,0,300000); // 300000 ms = 5 minutes
      

      【讨论】:

        猜你喜欢
        • 2016-03-21
        • 1970-01-01
        • 2014-10-16
        • 1970-01-01
        • 2017-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多