首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启用陀螺仪

启用陀螺仪
EN

Stack Overflow用户
提问于 2017-11-20 15:56:03
回答 1查看 1.4K关注 0票数 1

我有一个用WebGl或CCS3D打开网站的网页。在这个网站上有一个按钮,其中包括一个陀螺仪。

如果你通过铬进入这个网站,点击这个按钮,陀螺仪就会打开。如果您在android应用程序中通过webview运行站点,那么当您单击按钮陀螺仪时,该站点不会像在chrome中那样旋转。

问:如何打开android上的陀螺仪,这样当你按陀螺按钮时,网站也会像铬一样旋转?

连接了下列权限:

代码语言:javascript
复制
<uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" />
    <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true" />

代码:

代码语言:javascript
复制
public class SecondActivity extends AppCompatActivity  {
    WebView webView;
    final String ulr="http://sfer***.com/hodite/";
    SensorManager sensorManager;
    Sensor sensor;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_second);
        webView=(WebView)findViewById(R.id.web);
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setDomStorageEnabled(true);
        webSettings.setLoadWithOverviewMode(true);
        webSettings.setUseWideViewPort(true);
        webSettings.setBuiltInZoomControls(true);
        webSettings.setDisplayZoomControls(false);
        webSettings.setSupportZoom(true);
        webSettings.setDefaultTextEncodingName("utf-8");
        webSettings.setRenderPriority(WebSettings.RenderPriority.HIGH);
        webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
        webSettings.setAppCacheEnabled(true);
        webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
        webSettings.setEnableSmoothTransition(true);
        //webView.setWebChromeClient(new WebChromeClient());
        webView.loadUrl(ulr);

        /*sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        sensor = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);*/


    }

请支持我。

EN

回答 1

Stack Overflow用户

发布于 2017-11-23 05:19:45

我认为webview不支持陀螺仪。您可以尝试使用XWalkView,而不是使用默认的Webview,这将支持陀螺仪。在build.gradle中添加以下代码

代码语言:javascript
复制
repositories {
//mavenLocal()
maven {
    url 'https://download.01.org/crosswalk/releases/crosswalk/android/maven2'
}}

在依赖项中添加下面一行

代码语言:javascript
复制
compile 'org.xwalk:xwalk_core_library:20.50.533.12'

添加布局文件:

代码语言:javascript
复制
<org.xwalk.core.XWalkView
    android:id="@+id/xwalkWebView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"/>

这会解决你的问题。祝你一切顺利!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47396032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档