Как обновлять активность Android WebView каждые 5 секунд?

У меня есть приложение для 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();
}

попробуйте этот stackoverflow.com/a/28255478/9408181

Rahul Chokshi 08.09.2018 07:35

Возможный дубликат Периодическое автоматическое обновление Android WebView

shashank chandak 08.09.2018 07:40
0
2
2 065
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Попробуйте это Решение 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);}  

вызвать 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);
    }

Вы можете использовать TimerTask каждые 5 минут, как показано ниже "

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

Другие вопросы по теме