0

在这里,我在 BrowserActivity 中显示 URL。当我按下返回时打开站点后,我应该返回但这里重新加载。因为我的网址打开了另一个网址。我的网址只是正确的。只需按一下后按即可告诉我如何返回活动。如果我按 2 次后退按钮,则它可以正常工作(意味着转到上一个活动)。我在下面发布了我的代码。请仅使用该网址尝试..

btn.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View arg0) {
    Intent myWebLink = new Intent(android.content.Intent.ACTION_VIEW);
    myWebLink.setComponent(new ComponentName("com.android.browser","com.android.browser.BrowserActivity"));
    myWebLink.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    myWebLink.setData(Uri.parse("http://www.abcd.com"));
    startActivity(myWebLink);}});
4

3 回答 3

0

Android 活动存储在活动堆栈中。回到以前的活动可能意味着两件事。

  1. 您使用startActivityForResult从另一个活动中打开了新活动。在这种情况下,您只需从代码中调用finishActivity()函数,它就会带您回到上一个活动。

  2. 跟踪活动堆栈。每当您使用一个意图启动一个新活动时,您都可以指定一个意图标志,如 FLAG_ACTIVITY_REORDER_TO_FRONT 或 FLAG_ACTIVITY_PREVIOUS_IS_TOP。您可以使用它在应用程序中的活动之间随机播放。不过没怎么用过。看看这里的标志:http: //developer.android.com/reference/android/content/Intent.html

于 2013-02-05T09:34:00.880 回答
0

您正在访问的网站是:

http://www.bigticketshop.co.uk/clickout.aspx?did=326177&mid=101&d=21-04-2013&e=A Gala for St George&po=2

这是重定向到:

http://www.seatwave.com/a-gala-for-st-george-tickets/royal-albert-hall-tickets/21-april-2013/perf/633910?affid=0316

因此,当您按下返回按钮时,它将返回您的旧网站,该网站再次重定向到新网站,因此它进入一个循环。

直接尝试新的网站它工作正常:

btn.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View arg0) {
    Intent myWebLink = new Intent(android.content.Intent.ACTION_VIEW);
    myWebLink.setComponent(new ComponentName("com.android.browser","com.android.browser.BrowserActivity"));
    myWebLink.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    myWebLink.setData(Uri.parse("http://www.seatwave.com/a-gala-for-st-george-tickets/royal-albert-hall-tickets/21-april-2013/perf/633910?affid=0316"));
    startActivity(myWebLink);}});
于 2013-02-05T10:57:18.293 回答
0

用这个:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) 
{
  if(event.getAction() == KeyEvent.ACTION_DOWN)
  {
    switch(keyCode)
    {
      case KeyEvent.KEYCODE_BACK:
        if(myWebLink.canGoBack() == true)
        {
          myWebLink.goBack();
        }
        return true;
    }
  }
  return super.onKeyDown(keyCode, event);
}
于 2013-02-05T09:18:26.790 回答