【问题标题】:Android: open Browser and come back after backAndroid:打开浏览器,回来后再回来
【发布时间】:2013-07-30 21:44:39
【问题描述】:

我用

启动浏览器
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);

并且想在按下后返回我的活动。

我是怎么做到的?

【问题讨论】:

    标签: android android-intent browser


    【解决方案1】:

    您需要使用 VebView 在您的应用程序中运行浏览器,如下所示:

    布局

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/my_style" >
    
    <WebView
        android:id="@+id/myWebView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@id/help_tabbar" />
    

    Java 代码

    WebView webView = (WebView) findViewById(R.id.myWebView);
        webView.getSettings().setJavaScriptEnabled(true);
    
        final Activity activity = this;
        webView.setWebViewClient(new WebViewClient() {
            /**
             * open page inside tabbar activity
             */
            public void onReceivedError(WebView view, int errorCode,
                    String description, String failingUrl) {
                Toast.makeText(activity, description, Toast.LENGTH_SHORT)
                        .show();
            }
        });
        webView.loadUrl(getString(R.string.my_url));
    }
    

    如果你想在外部浏览器中打开,你可以使用这个:

    Intent intent = new Intent(Intent.ACTION_VIEW,
                    Uri.parse(getString(R.string.my_url)));
            startActivity(intent);
    

    始终将您的网址保存为字符串,因为它很容易修改。 希望这是有用的。 干杯

    【讨论】:

    • webview是一个选项,第二个可能性和我的代码差不多,是不是可以打开外部浏览器让activity留在backstack中?
    • 这很困难,因为您或任何用户可能同时运行 100 个应用程序。我的意见是制作一个 webview,任何用户都更容易留在应用程序中并搜索网页,然后将应用程序放入 bg,打开浏览器,关闭浏览器,恢复应用程序 --- 如您所见,有 4 个步骤用户应该只制作一个简单的网页,因为他只能制作 1 个。
    猜你喜欢
    • 1970-01-01
    • 2012-05-23
    • 2021-11-03
    • 2011-02-26
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多