Web page using WebVR framework a-frame using WebGL,
I'm thinking of using webview to display it on the app instead of Android's Chrome app.
As a trial, I tried to display the official site of a-frame as shown below, but the screen is still white and nothing is displayed.
private WebView m_WebView;
@ Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
m_WebView=(WebView) findViewById (R.id.vr_webView);
m_WebView.getSettings().setJavaScriptEnabled(true);
m_WebView.getSettings().setAllowFileAccessFromFileURLs(true);
m_WebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
m_WebView.setWebChromeClient(newWebChromeClient());
m_WebView.setWebViewClient(newWebViewClient());
m_WebView.loadUrl("https://aframe.io");
}
The device used for verification is
·Xperia X Performance (Android 7.0)
·Galaxy S6 Edge (Android 6.0.1)
That's it.
Does anyone know the solution?
*The following log was displayed when running the application.
I/chromium: [INFO:CONSOLE(137)] "No DPDB device match." source: https://aframe.io/aframe/dist/aframe-master.min.js(137)
I/chromium: [INFO:CONSOLE(137)] "Failed to recalculate device parameters." source: https://aframe.io/aframe/dist/aframe-master.min.js(137)
I/chromium: [INFO:CONSOLE(137)] "Using fallback Android device measures." source: https://aframe.io/aframe/dist/aframe-master.min.js(137)
I/chromium: [INFO:CONSOLE(139)] "Failed to load viewer profile: %s", source: https://aframe.io/aframe/dist/aframe-master.min.js(139)
I/chromium: [INFO:CONSOLE(137)] "Uncaught TypeError: Cannot read property 'distributionCoeficients' of undefined", source: https://aframe.io/aframe/dist/aframe-master.min.js(137)
I/chromium: [INFO:CONSOLE(107)] "THREE.WebGLRenderer", source: https://aframe.io/aframe/dist/aframe-master.min.js(107)
I/chromium: [INFO:CONSOLE(137)] "No DPDB device match." source: https://aframe.io/aframe/dist/aframe-master.min.js(137)
I/chromium: [INFO:CONSOLE(137)] "Failed to recalculate device parameters." source: https://aframe.io/aframe/dist/aframe-master.min.js(137)
I/chromium: [INFO:CONSOLE(137)] "Using fallback Android device measures." source: https://aframe.io/aframe/dist/aframe-master.min.js(137)
I/chromium: [INFO:CONSOLE(139)] "Failed to load viewer profile: %s", source: https://aframe.io/aframe/dist/aframe-master.min.js(139)
I/chromium: [INFO:CONSOLE(137)] "Uncaught TypeError: Cannot read property 'distributionCoeficients' of undefined", source: https://aframe.io/aframe/dist/aframe-master.min.js(137)
I/chromium: [INFO:CONSOLE(137)] "Error loading online DPDB!", source: https://aframe.io/aframe/dist/aframe-master.min.js(137)
I/chromium: [INFO:CONSOLE(137)] "Error loading online DPDB!", source: https://aframe.io/aframe/dist/aframe-master.min.js(137)
It was easy to use Crosswalk instead of WebView.
Crosswalk deployment is here
http://qiita.com/niusounds/items/ecd51016cda91c5c3a5e
Do you have the following permission entries in AndroidManifest.xml?
<uses-permission android:name="android.permission.INTERNET"/>
Xperia Ace (Android 9):
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extensions AppCompatActivity{
@ Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView webView = new WebView (this);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAllowFileAccessFromFileURLs(true);
webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
webView.setWebChromeClient(newWebChromeClient());
webView.setWebViewClient(newWebViewClient());
webView.loadUrl("https://aframe.io");
setContentView (webView);
}
}
© 2024 OneMinuteCode. All rights reserved.