我正在研究 Chromecast 的 Hello World app适用于 Chrome 浏览器,但在我的 Android 设备上测试时遇到了障碍。据我所知,无法在 Android 上转换 Chrome 标签本身。唯一的选择是转换整个屏幕。
我找到了一个旧的 reddit thread还有一个更老的Google Cast Help Forum thread .这两个来源都让人觉得在 Android 上转换移动网络标签是可能的。
这真的很难相信,因为我没有看到移动设备上的网页有任何内在因素会阻止它与 Cast 兼容。我错过了什么?
在移动设备上转换的当前状态似乎是:
- 从移动 Chrome 浏览器转换音频/视频内容
- 从原生移动应用转换
- 转换整个设备的屏幕
我要实现的具体用例是一款基于网络的游戏,玩家可以坐在沙发上看电视。他们通过访问 Chrome 中的网站而不是下载应用程序来玩游戏。如果他们在笔记本电脑上,它会工作得很好,因为桌面 Chrome 能够转换一个特定的选项卡,在电视上显示一些应用程序,就像 Hello World 示例中的那样。但这在 Android 上是不可能的。
是否有人知道转换移动网页的方法或任何即将推出的计划?
最佳答案
您可以使用 Webview
来完成。它会自动考虑仅移动 View 。试试这个:像这样制作 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");
}
}
关于javascript - 如何在Android上转换手机网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37892509/