如何在Android上投放移动网页?

Ric*_*omi 6 html javascript android google-chrome google-cast

我正在使用适用于Chrome浏览器的Chromecast的Hello World应用,但是当我在Android设备上测试时遇到了障碍.据我所知,没有办法在Android上投射Chrome标签.唯一的选择是投射整个屏幕.

我找到了一个旧的reddit主题和一个更旧的Google Cast帮助论坛帖子.这两个来源都没有让人觉得可以在Android上投放移动网络标签.

这真的很难相信,因为我没有看到任何关于移动设备上的网页的内在因素会阻止它与Cast兼容.我错过了什么?

移动设备上的当前投射状态似乎是:

  1. 从移动Chrome浏览器投射音频/视频内容
  2. 从本机移动应用程序转换
  3. 投射整个设备的屏幕

我想要实现的具体用例是基于网络的游戏,玩家可以坐在电视机前的沙发上.他们通过访问Chrome网站而不是下载应用来玩游戏.如果他们在笔记本电脑上,它可以正常工作,因为桌面Chrome能够投射特定的选项卡,其中电视显示一些应用程序,如Hello World示例.但Android无法做到这一点.

是否有人知道如何投射移动网页或任何即将推出的计划?

San*_*shi 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>
Run Code Online (Sandbox Code Playgroud)

现在创建一个类:

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");        
    }
}
Run Code Online (Sandbox Code Playgroud)