2011-04-06 92 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

相關問題