предотвратить перезагрузку Webview для определенных данных уведомления о намерениях - PullRequest
0 голосов
/ 07 сентября 2018

Мне нужна помощь, я застрял в том, как возобновить веб-просмотр для определенных данных уведомлений, мне нужно, когда я отправляю данные с идентификаторами, содержащими "dontshow", тогда, если приложения на переднем плане, возобновить последнее веб-просмотр, тогда только запустить webView.loadUrl("javascript:removebutton();"); , но не беги

webView.postUrl(URL,EncodingUtils.getBytes("deviceid=" + deviceid, "BASE64"));

любая помощь, я буду очень признателен, потому что я так застрял здесь, я ищу в Интернете ничего не помогая, мне действительно нужна помощь, спасибо.

$fields = array
    (
    'registration_ids'  => $registrationIds,
    'data'   => array(
                        'idata' => "dontshow"
    ),
    'notification'  => $notification
    );

пример данных, которые я отправил выше

 public class MainActivity extends AppCompatActivity {
        WebView webView;
        WebSettings webSettings;
            private Context mContext=MainActivity.this;


            String deviceid= FirebaseInstanceId.getInstance().getToken();
            String URL = "https://example.com";

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

                webView = (WebView) findViewById(R.id.web_view);

                webSettings = webView.getSettings();
                webSettings.setJavaScriptEnabled(true);
                webSettings.getUseWideViewPort();
                webView.getSettings().setDomStorageEnabled(true);
                webView.addJavascriptInterface(new MyJavaScriptInterface(this), "ButtonRecognizer");
                webView.setWebChromeClient(new WebChromeClient());
                webView.setWebViewClient(new WebViewClient() {

                    @Override
                    public void onPageFinished(WebView view, String url)
                    {
                        Intent i = getIntent();
                        Bundle extras = i.getExtras();

                        if(extras != null) {
                            String idata = extras.getString("idata");
                            if (!"dontshow".equals(idata)) {
                                webView.loadUrl("javascript:$('#deviceid').val('"+idata+"');");
                            }else{
                                webView.loadUrl("javascript:removebutton();");
                            }
                        }else{
                            webView.loadUrl("javascript:$('#deviceid').val('" + deviceid + "');");
                        }
                    }

                });
                if(deviceid==null){
                    Intent i = getIntent();
                    Bundle extras = i.getExtras();

                    if(extras == null) {
                            Intent refresh = new Intent(this, MainActivity.class);
                            startActivity(refresh);
                            this.finish(); //
                    }else{
                        String idata = extras.getString("idata");
                        if (!"dontshow".equals(idata)) {
                            Intent refresh = new Intent(this, MainActivity.class);
                            startActivity(refresh);
                            this.finish(); //
                        }
                    }
                }else{
                    Intent i = getIntent();
                    Bundle extras = i.getExtras();

                    if(extras == null) {
                            webView.postUrl(URL,
                                    EncodingUtils.getBytes("deviceid=" + deviceid, "BASE64"));
                    }else{
                        String idata = extras.getString("idata");
                        if (!"dontshow".equals(idata)) {
                            webView.postUrl(URL,
                                    EncodingUtils.getBytes("deviceid=" + deviceid, "BASE64"));
                        }
                    }
                }

            }


        }
...