我要提前感谢所有花时间阅读我的帖子的人(也许会回答:p)
我正在开发一个非常简单的Android应用程序,旨在显示一个网站。 当然,我已经阅读了文档,并且我使用以下代码来显示页面:
Uri uriUrl = Uri.parse("http://example.com");
Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);
startActivity(launchBrowser);
网站正确显示,我在天堂:) 但.. 如果我通过按HOME按钮退出应用程序(我知道它并没有真正退出,但是nervermind)并再次启动它,Web浏览器将打开一个包含我的页面的新选项卡。我想要的是浏览器没有创建新选项卡,但保留在首次启动时创建的选项卡。
我宁愿不使用Webview,因为它意味着更多代码,我想要一个非常简单的应用程序。
我是Android开发的新手,所以请和我好心:D 我为错误道歉,我知道我的英语很糟糕。
谢谢你们!
答案 0 :(得分:0)
我对Android dev也很新,但是当你按照自己的方式调用浏览器时我理解的是,你只是在默认浏览器中打开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/");
}
答案 1 :(得分:0)
我一直在处理WebViews,他们做的工作:)在Android开发新手时设置它们有点棘手,但是它们非常易于配置,因此可以适应所有情况。
所以我的问题的答案可能是:使用WEBVIEW !
你的代码对Ascension来说是一个很大的帮助,它允许我不要从头开始,看看有一些“核心”方法需要一个功能WebView。
小小的提示:你在这里使用的一些方法在文档中被注释为“已弃用”(例如我正在考虑setPluginsEnabled())。
最后但并非最不重要的是,对于那些想知道:如果您使用Ascension示例代码,您会注意到您的页面在每次屏幕旋转时都会重新加载。这对我来说有点痛苦,弄清楚为什么会发生这种情况,但这很正常,请参阅http://www.devdiv.com/android/docs/guide/topics/resources/runtime-changes.html