我有一个应用程序,我加载外部网页。在该页面上,我有一个重定向到另一个URL的链接。我想要的是从我的Android应用程序内部跟踪外部网页的网址,以便当点击该特定链接并开始加载网址时,网页视图将关闭,用户将返回到我的应用程序的主屏幕
String token;
WebView viewer;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_view);
viewer = new WebView(this);
viewer.getSettings().setJavaScriptEnabled(true);
viewer.setWebViewClient(wvc);
setContentView(viewer);
Intent intent = getIntent();
token = intent.getStringExtra(home.EXTRA_MESSAGE);
String home = "http://10.0.2.2:8888/map/index?token="+token;
viewer.loadUrl(home);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK) && viewer.canGoBack())
{
viewer.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private WebViewClient wvc = new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if(url == "http://10.0.2.2:8888/map/api/logout")
{
view.clearHistory();
view.destroy();
return true;
}
return false;
}
};
答案 0 :(得分:0)
这种情况不正确
if(url.equals("http://10.0.2.2:8888/map/api/logout"))
应该是
==
因为endsWith()
会比较引用而不是值,而另一个则是。
P.S:,以便日后减少更改/错误,使用equals()
代替if(url.endsWith("map/api/logout"))
;例如,域名改变了你的条件仍然有效。
var coordinate=[[]];
var x, y;
for (x=1; x <= 7; x += 1) {
for (y=1; y <= 5; y += 1) {
coordinate[x][y] = "("+x+","+y+")";
}
}