2011-04-06 96 views
2

我想提前感谢所有会花时间阅读我的文章的人(也许回答:p)如何强制浏览器不要每次打开一个新页面?

我正在开发一个非常简单的Android应用程序,它旨在显示一个网站。 当然,我读过的文件,而我使用下面的代码来显示页面:

Uri uriUrl = Uri.parse("http://example.com"); 
Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl); 
startActivity(launchBrowser); 

该网站是正确显示,我在天上:) 但是... 如果我按HOME键退出应用程序(我知道它并不真正退出,但nervermind)并再次启动它,Web浏览器打开一个包含我的页面的新选项卡。我想要的是浏览器不会创建一个新选项卡,但保留首次启动时创建的选项卡。

我宁愿不使用Webviews,因为它意味着更多的代码,我想要一个非常简单的应用程序。

我是新开发的Android开发人员,请您谅解我:D 我为错误表示歉意,我知道我的英文不好。

谢谢你们!

回答

0

我一直在处理与网页视图,和他们所做的工作:)这是一个有点棘手,对它们进行设置新时Android开发,但他们是非常可配置的,因此可以适应所有情况。

所以我的问题的答案可能是:USE WEBVIEW

你的代码对Ascension来说是一个很大的帮助,它允许我不要从头开始,并且需要一些具有函数式WebView的“核心”方法。

小记给你:你在这里使用的一些方法在文档中被标记为“弃用”(例如,我在考虑setPluginsEnabled())。

最后但并非最不重要的是,对于那些想知道:如果您采用Ascension示例代码,您会注意到每次屏幕旋转都会重新加载您的页面。这对我来说有点痛苦,要弄清楚为什么会发生这种情况,但这很正常,请参阅http://www.devdiv.com/android/docs/guide/topics/resources/runtime-changes.html

0

我对android开发人员相当陌生,但根据我的理解,当您按照您的方式调用浏览器时,只需在默认浏览器中打开该URL即可。使用WebView是理想的,因为它是特定于您的应用程序(孤立的,或者至少这是我的印象)。使用webview并不是非常困难。下面是一些代码,应该有你顺利进行路:

public void initWebView() {   

     WebView wview; 

     wview = new WebView(getApplicationContext()); 

     //Add the WebView to the current window 
     ((WindowManager)getApplicationContext().getSystemService("window")).addView(wview, new WindowManager.LayoutParams(300, 300)); 

     wview.clearHistory(); 
     wview.clearCache(true); 

     wview.getSettings().setJavaScriptEnabled(true); 
     wview.getSettings().setPluginsEnabled(true); 
     wview.getSettings().setPluginState(WebSettings.PluginState.ON); 

     wview.getSettings().setRenderPriority(RenderPriority.HIGH); 


     wview.setWebViewClient(new WebViewClient() 
     { 
      public void onPageFinished(WebView view, String url) 
      {        
       //Callback for when pages are finished loading 
       wview.layout(0, 0, (int)DESIRED_WIDTH, (int)DESIRED_HEIGHT); 
      } 

      public void onPageStarted(WebView view, String url, Bitmap favicon) 
      { 
       //Callback for when pages are being loaded 

      } 
     }); 

     wview.loadUrl("http://blog.ascensionsystems.ca/"); 
    } 
+0

感谢您的快速回答Ascension,我试图设置此Webview,但我非常失望,特别是在尝试以显示进度条(以便用户体验不是太糟糕),我参考了Android开发人员的参考,但不适合我:(顺便说一下,您的文章真的很有帮助,我会回来这里只要准备就绪,就有一个工作解决方案;) – dev59 2011-04-07 08:32:38

+0

说实话,从我迄今为止学到的东西来看,它是它自己的类(android)的一个野兽,它有一点学习曲线。耐心,你会发现它。 :) – 2011-04-07 11:45:04

相关问题