2017-09-15 32 views
2

私はreact-dom 15.3.2とreact-router^4.2.0を使用しています。注:私はReact-NativeではなくReactJSを使用しています。ブラウザでAndroid webviewのReactJSアプリ - 戻るボタンを押すとアプリが閉じる

<Link to="/contactus"> 
    Contact Us 
</Link> 
<Link to="/faq"> 
    FAQ 
</Link> 

これらのルートが定義されていると正常に動作:

私のようなリンクを定義するナビゲーションリンクを持つシンプルなアプリを持っています。私はページに行くことができ、背中を押すと、すべてが期待通りに機能します。

しかし、私はアプリを作成するために私のウェブサイトをAndroid WebViewにラップしようとしています。

すなわち

webView = (WebView) findViewById(R.id.webView); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.loadUrl(myWebsiteURL); 

問題は、私はそれがすぐにアプリケーションを閉じ、戻るボタンを押したときに、それがブラウザ上でどのように動作するかのように「ページ履歴」を通過しないということです。

答えて

1

アクティビティのデフォルト動作をオーバーライドし、webviewを直接呼び出す必要があります。

@Override 
public void onBackPressed() { 
    if (webView.canGoBack()) { 
     webView.goBack(); 
    } else { 
     super.onBackPressed(); 
    } 
} 

参考:https://stackoverflow.com/a/37673643/1052581

関連する問題