【问题标题】:Re-direct to an URL on clicking Android Button单击 Android 按钮时重定向到 URL
【发布时间】:2018-03-01 05:51:12
【问题描述】:

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

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 }

提前谢谢你:)

【问题讨论】:

    标签: android android-studio


    【解决方案1】:
    Intent viewIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.facebook.com"));
    

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

    【讨论】:

      【解决方案2】:

      如果你想打开一个带有 Intent 的 URL,只需使用 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" /> 
      

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

      【讨论】:

        【解决方案3】:

        试试这个,

         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();
            }
        

        【讨论】:

          猜你喜欢
          • 2018-10-14
          • 1970-01-01
          • 2014-07-23
          • 2020-12-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多