2017-05-02 13 views
0

私はアプリにwebview &通知を統合しました。フォアグラウンドで通知が受信されると、トーストが表示され、バックグラウンドではプッシュ通知が表示されます。プッシュ通知の受信時にWebviewの現在のページをリフレッシュする方法

  1. フォアグラウンド:現在のページを更新し

    私は通知を受信したときに実行するアプリケーションのための二つのことをしたいです。

  2. 背景:通知をクリックすると、特定のリンクにリダイレクトされます。

注:Firebase通知については、以下の

を使用WebViewのコードです:

 mWebview =(WebView) findViewById(R.id.webview1); 

     WebSettings webSettings = mWebview.getSettings(); 

     mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript 
     mWebview.setWebViewClient(new CustomWebViewClient()); 

     mWebview.loadUrl("http://example.com"); 

答えて

0

EventBusが要件を満たすことができ、あなたは、その使用法を理解するために行くことができます。

https://github.com/greenrobot/EventBus

のWebViewの活動を登録し、メソッドを作成します。

EventBus.getDefault().register(this); 


@Subscribe(threadMode = ThreadMode.MAIN) 
public void onMessageEvent(MessageEvent event) {/* Do something */}; 

メッセージを送信する通知をクリックすると、メッセージがコールバックされます。

活動中
EventBus.getDefault().post(new MessageEvent()); 
+0

を更新するための活動でそれを受け取るあなたは例を提供することができますか?コードは大いにありがたいです – Observer

+0

あなたは 'onMessageEvent'でwebviewを更新することができます。 – dengyuhan

+0

私はアンドロイドに新しいスーパーです、より具体的になることができますか? – Observer

0

登録する放送受信機とFirebase WebサービスからBraodcastを送信し、WebViewの

@Override 
     protected void onResume() { 
      // TODO Auto-generated method stub 
      super.onResume(); 

      IntentFilter intentFilter = new IntentFilter(
        "update_webview"); 

      mReceiver = new BroadcastReceiver() { 

       @Override 
       public void onReceive(Context context, Intent intent) { 
        //extract our message from intent 
        String msg_for_me = intent.getStringExtra("some_msg"); 
        //log our message value 


       } 
      }; 
      //registering our receiver 
      this.registerReceiver(mReceiver, intentFilter); 
     } 

     @Override 
     protected void onPause() { 
      // TODO Auto-generated method stub 
      super.onPause(); 
      //unregister our receiver 
      this.unregisterReceiver(this.mReceiver); 
     } 

Now send Braodcast from FCM service where your received notification 

Intent i = new Intent("update_webview").putExtra("some_msg", "I will be sent!"); 
      this.sendBroadcast(i); 
関連する問題