单击Android按钮重定向到URL

时间:2018-03-01 05:51:12

标签: android android-studio

我尝试在点击按钮时打开网页。但是,它不起作用。 这是我的代码:

ImageButton fbButton = (ImageButton) findViewById(R.id.fb);
    fbButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

                Intent viewIntent = new Intent("Intent.ACTION_VIEW", Uri.parse("http://www.facebook.com"));
                startActivity(viewIntent);
        }
    });

它总是会发表声明。

这里是Manifest文件权限代码:

   <uses-permission android:name="android.permission.INTERNET"/>
   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

错误日志:

E/AndroidRuntime: FATAL EXCEPTION: main
              Process: com.example.krish.me, PID: 4532
              android.content.ActivityNotFoundException: No Activity found to handle Intent { act=Intent.ACTION_VIEW dat=http://www.facebook.com }

提前谢谢你:)

3 个答案:

答案 0 :(得分:3)

Intent viewIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.facebook.com"));

使用Intent.ACTION_VIEW代替"android.intent.action.view"

答案 1 :(得分:1)

如果您想使用Intent 打开网址,只需使用Intent.ACTION_VIEW代替android.intent.action.view

Intent viewIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com"));

您的代码将变为这样 -

ImageButton fbButton = (ImageButton) findViewById(R.id.fb);
    fbButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            try {
                Intent viewIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/"));
                startActivity(viewIntent);
            }
            catch (Exception e) {
                Toast.makeText(getApplicationContext(), "Can't connect to Internet",
                        Toast.LENGTH_SHORT).show();
            }
        }
    });

确保您在AndroidManifest文件中添加了Internet权限。

<uses-permission android:name="android.permission.INTERNET" /> 

问题是我认为您没有任何可以打开手机中安装的网址(即浏览器)的应用。

答案 2 :(得分:1)

试试这个,

 try {
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.facebook.com"));
        startActivity(Intent.createChooser(intent, "Choose browser"));
    } catch (Exception e) {
        Toast.makeText(getApplicationContext(), "Can't connect to Internet",
                Toast.LENGTH_SHORT).show();
    }