Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:是否可以从共享目的打开浏览器?_Android_Url_Browser_Share - Fatal编程技术网

Android:是否可以从共享目的打开浏览器?

Android:是否可以从共享目的打开浏览器?,android,url,browser,share,Android,Url,Browser,Share,我想知道是否有可能出于共享目的而打开浏览器。让我举一个例子来澄清: 我有一个包含新闻的应用程序。每个新闻都有一个url,这样用户就可以根据whatsapp、蓝牙、hangouts或其他内容与已知的android共享意图共享此链接。现在,我想知道是否有可能,用户出于共享的目的也可以在浏览器中打开此链接。那么:我能说出他的意图吗,他也应该展示在浏览器中打开新闻url的机会 我当前的共享意向如下所示: Intent intent = new Intent(Intent.ACTION_SEND);

我想知道是否有可能出于共享目的而打开浏览器。让我举一个例子来澄清: 我有一个包含新闻的应用程序。每个新闻都有一个url,这样用户就可以根据whatsapp、蓝牙、hangouts或其他内容与已知的android共享意图共享此链接。现在,我想知道是否有可能,用户出于共享的目的也可以在浏览器中打开此链接。那么:我能说出他的意图吗,他也应该展示在浏览器中打开新闻url的机会

我当前的共享意向如下所示:

Intent intent = new Intent(Intent.ACTION_SEND);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        intent.setType("text/plain");
        String shareString = news.getLink();
        intent.putExtra(Intent.EXTRA_TEXT, shareString);
        context.startActivity(intent);

提供了一个完整的示例。你可以从原始共享意图列表中选择你想要的应用程序,并添加你自己的意图。

我也有同样的要求。我使用了下面的代码

    //Creating intent for sharing
    //TODO edit your share link 
    String shareString = "http://www.stackoverflow.com";
    Intent sendIntent = new Intent(Intent.ACTION_SEND);
    sendIntent.setType("text/plain");
    sendIntent.putExtra(Intent.EXTRA_TEXT, shareString);

    //Creating intent for broswer
    //TODO edit you link to open in browser
    String url = "http://www.stackoverflow.com";
    Intent viewIntent = new Intent(Intent.ACTION_VIEW);
    viewIntent.setData(Uri.parse(url));

    Intent chooserIntent = Intent.createChooser(sendIntent, "Open in...");
    chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[]{viewIntent});
    startActivity(chooserIntent);

您可以尝试和
Intent.createChooser()
查看是否可以让一个选择器显示多个不同的内容。我没有尝试过。这有点不同-但这是一个可能的解决方案的开始,因为您可以运行这样的枚举,然后通过查询多个意图来定制列表-不仅是浏览器可能不支持的共享意图,还有它可能支持的共享意图。我知道目的有点不同,但代码片段似乎提供了足够的信息来实现这一目标。