Предыдущий пост отсюда android studio webview get data and onfinish. На самом деле я не могу получить то, что хочу от этих ответов. Возможно, я должен попросить его более четко. Я фактически использовал webview для загрузки страницы контента. Затем внутри страницы содержимого есть некоторые ссылки, которые также являются локальным html, созданным мной. Итак, поток похож наВеб-просмотр Android получает текущий URL-адрес и проверяет, содержит ли он строку
Активность андроида -> веб-просмотр -> страница содержания -> страница игры.
На самом деле я хочу получить локальную переменную marks
на странице игры. Поэтому я создал кнопку exit
, которая используется для закрытия страницы и обратно к активности андроида, а также переносит marks
обратно в андроид.
Так что я искал некоторую информацию сам и обнаружил, что window.close()
не работает. Поэтому я изменяю текущий URL-адрес, чтобы указать, что нажата кнопка выхода. А затем извлеките marks
из URL-адреса и сохраните его в активности Android. Но это не работает с моими кодами ниже, я думаю, что это, вероятно, из-за того, что метод используется, когда я нахожусь на странице содержания. Надеюсь, кто-то может это сделать, потому что я действительно не могу найти проблему. Я редактировал коды, как показано ниже:
Моя деятельность в андроида:
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 class="exit" onclick="finish()">Exit</div>
Я собираюсь использовать функцию finish()
вернуть переменную и закройте веб-страницу, чтобы вернуться к активности в android.
function finish() {
document.location.href= window.location.href +"?marks=" + marks;
}