前の投稿はandroid studio webview get data and onfinishです。私は実際にそれらの答えから私が望むものを得ることができません。たぶん私はそれをもっとはっきりと尋ねるべきでしょう。私は実際にコンテンツページを読み込むためにwebviewを使用しました。コンテンツページの中には、自分で作成したローカルHTMLでもあるリンクがいくつかあります。その流れは、Android webview現在のURLを取得し、文字列が含まれているかどうかを確認してください
android activity - > webview - > content page - >ゲームページです。
実際には、ゲームのページでローカル変数marks
を取得します。そこで、exit
ボタンを作成しました。このボタンは、ページを閉じてアンドロイドのアクティビティに戻り、marks
をアンドロイドのアクティビティに戻すために使用されます。
私はいくつかの情報を自分で検索し、window.close()
が機能しないことを発見しました。そこで、現在のURLを変更して、終了ボタンがクリックされたことを示します。 URLからmarks
を抽出してandroidアクティビティに保存します。しかし、それは私のコードではうまくいきません、私はそれがおそらくメソッドが使用されていると思います、私がコンテンツページにいるとき。私は本当に問題を見つけることができないので、誰かがこれを行うのに役立つことを願っています。アンドロイドで
マイアクティビティ:
<div class="exit" onclick="finish()">Exit</div>
私は、変数を返すようにfinish()
機能を使用するつもりです:
private WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
webview = new WebView(this);
webview.getSettings().setJavaScriptEnabled(true);
try {
webview.loadUrl("file:///android_asset/index.html");
webview.setWebViewClient(new WebViewClient()
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if (url.contains("?marks=")){
finish();} // close activity
else{
view.loadUrl(url);}
return true;
});
}
catch(Exception ex)
{
ex.printStackTrace();
}
setContentView(webview);
}
マイ終了ボタンがdiv要素である私は、以下のようにコードを編集しましたアンドロイドのアクティビティに戻ってWebページを閉じます。
function finish() {
document.location.href= window.location.href +"?marks=" + marks;
}