0

私は非常にシンプルなウェブビューレイアウトを持っています。

1時間ごとにウェブビューの内容を変更したいのですが。

使用してみました

Uri uri = Uri.parse("http://www.yahoo.com");
    Intent in = new Intent(Intent.ACTION_VIEW, uri);
    context.startActivity(in);

放送受信機で、しかし失敗しました....。

何か提案はありますか?ありがとう!!!!

主な活動コード:

public class MainActivity extends Activity implements OnClickListener {

private int page;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    RelativeLayout layout = (RelativeLayout)
    findViewById(R.id.RelativeLayout1);
    layout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

    showeb("http://www.google.com");

    Intent intent =new Intent(MainActivity.this, Alarm.class);
    intent.setAction("repeating");
    PendingIntent sender=PendingIntent
        .getBroadcast(MainActivity.this, 0, intent, 0);

    long firstime=SystemClock.elapsedRealtime();

    AlarmManager am=(AlarmManager)getSystemService(ALARM_SERVICE);
    am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP
            , firstime, 3600*1000, sender);


}

private void showeb(String string) {
    WebView engine = (WebView) (findViewById(R.id.webView1));
    engine.setWebViewClient(new WebViewClient());
    engine.loadUrl(string);

}

とレシーバークラス

public class Alarm extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

        Toast.makeText(context, "short alarm", Toast.LENGTH_LONG).show();


        Uri uri = Uri.parse("http://www.yahoo.com");
        Intent in = new Intent(Intent.ACTION_VIEW, uri);
        context.startActivity(in);



}
4

1 に答える 1

0

すでにフォアグラウンドにある (現在表示されている) WebView を更新しようとしている場合は、webview.loadUrl単に次を使用して定期的に呼び出すことができます。java.util.TimerTask

    private Timer webViewUpdater;

    @Override
    public void onResume() {
        super.onResume();
        webViewUpdater = new Timer();
        webViewUpdater.schedule(new TimerTask() {
            @Override
            public void run() {
                runOnUiThread(new Runnable() {
                    public void run() {
                        showeb("http://www.yahoo.com")
                    }
                });
            }
        }, firsttime, 3600*1000);
    }

    @Override
    public void onPause() {
        webViewUpdater.cancel();
        super.onPause();
    }
于 2013-03-06T12:04:36.150 に答える