如何在安卓手机上投屏移动网页?

6
我正在为Chrome浏览器开发Chromecast的Hello World应用程序,但在我的Android设备上测试时遇到了障碍。据我所知,在Android上没有办法投射Chrome标签本身。唯一的选择是投射整个屏幕。
我找到了一个旧的reddit主题和一个更早的Google Cast帮助论坛主题。两个来源都没有表明在Android上可以投射移动Web标签。
这真的很难相信,因为我没有看到任何关于Web页面在移动设备上的固有特性,会阻止它与Cast兼容。我错过了什么?
目前移动设备上的投射状态似乎是:
  1. 从移动Chrome浏览器投射音频/视频内容
  2. 从原生移动应用程序投射
  3. 投射整个设备屏幕
我希望实现的具体用例是一个基于Web的游戏,玩家可以坐在电视前的沙发上。他们通过在Chrome浏览器中访问网站来玩游戏,而不是下载应用程序。如果他们使用笔记本电脑,则可以正常运行,因为桌面版Chrome能够投射特定标签,其中电视机显示一些应用程序,例如Hello World示例。但是这在Android上是不可能的。
有人知道是否有一种方法可以投射移动Web页面或任何即将推出的计划吗?

可能是https://dev59.com/ooXca4cB1Zd3GeqPHV9l?rq=1的重复问题。 - Mr.Rebot
2个回答

1
你可以使用 Webview 来实现,它将自动考虑移动视图。尝试这样做:将 main.xml 文件设置为如下所示:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" 
android:layout_gravity="center">
<WebView
    android:id="@+id/webView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center" /></LinearLayout>

现在创建一个类:
WebViewSampleActivity

    public class WebViewSampleActivity extends Activity {
     WebView wb;
    private class HelloWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return false;
        }
    }
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);      
        wb=(WebView)findViewById(R.id.webView1);        
        wb.getSettings().setJavaScriptEnabled(true);
        wb.getSettings().setLoadWithOverviewMode(true);
        wb.getSettings().setUseWideViewPort(true);
        wb.getSettings().setBuiltInZoomControls(true);
        wb.getSettings().setPluginState(WebSettings.PluginState.ON);
        wb.getSettings().setPluginsEnabled(true);           
        wb.setWebViewClient(new HelloWebViewClient());
        wb.loadUrl("http://www.yourUrl.com");        
    }
}

所以WebView要求用户下载一个Android应用程序来加载网页?这个网页是否使用Cast API的桌面Chrome功能?如果只是在Android应用程序中使用移动版Chrome,那么我已经做了很多工作来获得相同的错误行为。 - Rick Viscomi
是的,它将允许用户下载该应用程序...它将像其他应用程序一样在Google Play上提供。 - Sanat Chandravanshi
不过我的疑问是WebView是否在桌面或移动版Chrome环境中运行。区别在于你无法从移动设备进行转换,这也是这个问题想要解决的。 - Rick Viscomi

0
创建一个 WebView 并注入一个 URL,非常简单的方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接