HTML视频控件在Codenameone应用程序中无法正常工作

时间:2018-08-30 10:42:24

标签: codenameone

我有一个codenameone应用程序,该应用程序调用了用html5开发的安全网站。它使用html视频控件拍摄快照。该网站在chrome中完美运行。但是,当我从安装在Android设备上的codenameone应用程序调用它时,视频控件未显示在页面上。所需的相机权限在应用程序中设置。

日志如下:

LOGS ....---------主开始

09-07 15:43:39.586 23032 23085 I Adreno  : QUALCOMM build                   : 84c9b58, I4fcced3c6d
09-07 15:43:39.586 23032 23085 I Adreno  : Build Date                       : 01/17/18
09-07 15:43:39.586 23032 23085 I Adreno  : OpenGL ES Shader Compiler Version: XE031.09.00.04
09-07 15:43:39.586 23032 23085 I Adreno  : Local Branch                     : 
09-07 15:43:39.586 23032 23085 I Adreno  : Remote Branch                    : refs/tags/AU_LINUX_ANDROID_LA.UM.5.5.R1.07.01.02.269.061
09-07 15:43:39.586 23032 23085 I Adreno  : Remote Branch                    : NONE
09-07 15:43:39.586 23032 23085 I Adreno  : Reconstruct Branch               : NOTHING
09-07 15:43:39.595 23032 23085 I OpenGLRenderer: Initialized EGL, version 1.4
09-07 15:43:39.596 23032 23085 D OpenGLRenderer: Swap behavior 1
09-07 15:43:39.619 23032 23084 I Codename One: Resource not found: theme_phone.ovr
09-07 15:43:39.619 23032 23084 I Codename One: Resource not found: theme_android.ovr
09-07 15:43:39.619 23032 23084 I Codename One: Resource not found: theme_android-phone.ovr
09-07 15:43:39.630 23032 23041 I art     : Do partial code cache collection, code=9KB, data=30KB
09-07 15:43:39.630 23032 23041 I art     : After code cache collection, code=9KB, data=30KB
09-07 15:43:39.630 23032 23041 I art     : Increasing code cache capacity to 128KB
09-07 15:43:39.684 23032 23084 D RedirectToCameraHtml: [EDT] 0:0:0,124 - WARNING: Theme sets the commandBehavior constant which is deprecated.  Please update the theme to NOT include this theme constant.  Using commandBehavior may cause your app to perform in unexpected ways.  In particular, using SIDE command behavior in conjunction with Toolbar.setOnTopSideMenu(true) may result in runtime exceptions.
09-07 15:43:39.685 23032 23084 D RedirectToCameraHtml: [EDT] 0:0:0,126 - WARNING: Display.setCommandBehavior() is deprecated, Using it may result in unexpected behaviour. In particular, using COMMAND_BEHAVIOR_SIDE_NAVIGATION in conjunction with Toolbar.setOnTopSideMenu(true) may result in runtime errors.
09-07 15:43:39.691 23032 23094 D NetworkSecurityConfig: No Network Security Config specified, using platform default
09-07 15:43:39.707 23032 23094 D ApplicationLoaders: ignored Vulkan layer search path /data/app/com.android.chrome-2/lib/arm64:/data/app/com.android.chrome-2/base.apk!/lib/arm64-v8a for namespace 0x7f95e31160
09-07 15:43:39.708 23032 23084 I Timeline: Timeline: Activity_launch_request time:42584312 intent:Intent { act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.google.android.packageinstaller (has extras) }
09-07 15:43:39.714 23032 23094 I WebViewFactory: Loading com.android.chrome version 68.0.3440.91 (code 344009152)
09-07 15:43:39.769 23032 23041 I art     : Compiler allocated 5MB to compile void com.codename1.ui.plaf.UIManager.resetThemeProps(java.util.Hashtable)
09-07 15:43:39.776 23032 23084 D Codename One: sizechanged: 1080 1964 com.codename1.impl.android.CodenameOneView@8dc66a5
09-07 15:43:39.781 23032 23032 E SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
09-07 15:43:39.781 23032 23032 E SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
09-07 15:43:39.795 23032 23094 I cr_LibraryLoader: Time to load native libraries: 8 ms (timestamps 4390-4398)
09-07 15:43:39.808 23032 23094 I chromium: [INFO:library_loader_hooks.cc(36)] Chromium logging enabled: level = 0, default verbosity = 0
09-07 15:43:39.808 23032 23108 E cr_VariationsUtils: Failed reading seed file "/data/user/0/com.mycompany.myapp/app_webview/variations_seed_new": /data/user/0/com.mycompany.myapp/app_webview/variations_seed_new (No such file or directory)
09-07 15:43:39.808 23032 23094 I cr_LibraryLoader: Expected native library version number "68.0.3440.91", actual native library version number "68.0.3440.91"
09-07 15:43:39.809 23032 23108 E cr_VariationsUtils: Failed reading seed file "/data/user/0/com.mycompany.myapp/app_webview/variations_seed": /data/user/0/com.mycompany.myapp/app_webview/variations_seed (No such file or directory)
09-07 15:43:39.815 23032 23108 W System  : ClassLoader referenced unknown path: 
09-07 15:43:39.818 23032 23108 D ApplicationLoaders: ignored Vulkan layer search path /data/app/com.android.chrome-2/lib/arm64:/data/app/com.android.chrome-2/base.apk!/lib/arm64-v8a for namespace 0x7f95e311d0
09-07 15:43:39.851 23032 23041 I art     : Do partial code cache collection, code=39KB, data=61KB
09-07 15:43:39.851 23032 23041 I art     : After code cache collection, code=39KB, data=61KB
09-07 15:43:39.851 23032 23041 I art     : Increasing code cache capacity to 256KB
09-07 15:43:39.853 23032 23041 I art     : Compiler allocated 4MB to compile com.codename1.ui.plaf.Style com.codename1.ui.plaf.UIManager.createStyle(java.lang.String, java.lang.String, boolean)
09-07 15:43:42.420 23032 23032 E SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
09-07 15:43:42.420 23032 23032 E SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
09-07 15:43:42.432 23032 23084 D RedirectToCameraHtml: [EDT] 0:0:2,874 - getCameraPermission() >> true
09-07 15:43:42.534 23032 23032 I cr_BrowserStartup: Initializing chromium process, singleProcess=true
09-07 15:43:42.538 23032 23032 I cr_base : Android Locale: en_IN requires .pak files: [en-GB, en-US]
09-07 15:43:42.553 23032 23032 W ResourceType: Failure getting entry for 0x7f1204a3 (t=17 e=1187) (error -2147483647)
09-07 15:43:42.640 23032 23032 I art     : Rejecting re-init on previously-failed class java.lang.Class<ul>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/SafeBrowsingResponse;
09-07 15:43:42.640 23032 23032 I art     :   at xf com.android.webview.chromium.WebViewChromiumFactoryProvider.a(android.webkit.WebView, android.content.Context) (SourceFile:209)
09-07 15:43:42.640 23032 23032 I art     :   at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (SourceFile:63)
09-07 15:43:42.640 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636)
09-07 15:43:42.640 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:572)
09-07 15:43:42.640 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:555)
09-07 15:43:42.640 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:542)
09-07 15:43:42.641 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context) (WebView.java:532)
09-07 15:43:42.641 23032 23032 I art     :   at void com.codename1.impl.android.AndroidImplementation$21$1.<init>(com.codename1.impl.android.AndroidImplementation$21, android.content.Context) (AndroidImplementation.java:4143)
09-07 15:43:42.641 23032 23032 I art     :   at void com.codename1.impl.android.AndroidImplementation$21.run() (AndroidImplementation.java:4143)
09-07 15:43:42.641 23032 23032 I art     :   at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:754)
09-07 15:43:42.641 23032 23032 I art     :   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:95)
09-07 15:43:42.641 23032 23032 I art     :   at void android.os.Looper.loop() (Looper.java:163)
09-07 15:43:42.641 23032 23032 I art     :   at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6396)
09-07 15:43:42.641 23032 23032 I art     :   at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
09-07 15:43:42.641 23032 23032 I art     :   at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:904) 
09-07 15:43:42.641 23032 23032 I art     :   at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:794)
09-07 15:43:42.641 23032 23032 I art     : Caused by: java.lang.ClassNotFoundException: Didn't find class "android.webkit.SafeBrowsingResponse" on path: DexPathList[[zip file "/data/app/com.android.chrome-2/base.apk"],nativeLibraryDirectories=[/data/app/com.android.chrome-2/lib/arm64, /data/app/com.android.chrome-2/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
09-07 15:43:42.641 23032 23032 I art     :   at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
09-07 15:43:42.641 23032 23032 I art     :   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
09-07 15:43:42.641 23032 23032 I art     :   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
09-07 15:43:42.641 23032 23032 I art     :   at xf com.android.webview.chromium.WebViewChromiumFactoryProvider.a(android.webkit.WebView, android.content.Context) (SourceFile:209)
09-07 15:43:42.641 23032 23032 I art     :   at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (SourceFile:63)
09-07 15:43:42.641 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636)
09-07 15:43:42.641 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:572)
09-07 15:43:42.641 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:555)
09-07 15:43:42.641 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:542)
09-07 15:43:42.641 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context) (WebView.java:532)
09-07 15:43:42.641 23032 23032 I art     :   at void com.codename1.impl.android.AndroidImplementation$21$1.<init>(com.codename1.impl.android.AndroidImplementation$21, android.content.Context) (AndroidImplementation.java:4143)
09-07 15:43:42.641 23032 23032 I art     :   at void com.codename1.impl.android.AndroidImplementation$21.run() (AndroidImplementation.java:4143)
09-07 15:43:42.641 23032 23032 I art     :   at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:754)
09-07 15:43:42.641 23032 23032 I art     :   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:95)
09-07 15:43:42.641 23032 23032 I art     :   at void android.os.Looper.loop() (Looper.java:163)
09-07 15:43:42.641 23032 23032 I art     :   at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6396)
09-07 15:43:42.641 23032 23032 I art     :   at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
09-07 15:43:42.641 23032 23032 I art     :   at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:904)
09-07 15:43:42.642 23032 23032 I art     :   at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:794)
09-07 15:43:42.642 23032 23032 I art     : 
09-07 15:43:42.647 23032 23032 I art     : Rejecting re-init on previously-failed class java.lang.Class<xo>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/RenderProcessGoneDetail;
09-07 15:43:42.647 23032 23032 I art     :   at xf com.android.webview.chromium.WebViewChromiumFactoryProvider.a(android.webkit.WebView, android.content.Context) (SourceFile:209)
09-07 15:43:42.647 23032 23032 I art     :   at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (SourceFile:63)
09-07 15:43:42.647 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636)
09-07 15:43:42.647 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:572)
09-07 15:43:42.647 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:555)
09-07 15:43:42.647 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:542)
09-07 15:43:42.647 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context) (WebView.java:532)
09-07 15:43:42.647 23032 23032 I art     :   at void com.codename1.impl.android.AndroidImplementation$21$1.<init>(com.codename1.impl.android.AndroidImplementation$21, android.content.Context) (AndroidImplementation.java:4143)
09-07 15:43:42.647 23032 23032 I art     :   at void com.codename1.impl.android.AndroidImplementation$21.run() (AndroidImplementation.java:4143)
09-07 15:43:42.647 23032 23032 I art     :   at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:754)
09-07 15:43:42.647 23032 23032 I art     :   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:95)
09-07 15:43:42.647 23032 23032 I art     :   at void android.os.Looper.loop() (Looper.java:163)
09-07 15:43:42.647 23032 23032 I art     :   at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6396)
09-07 15:43:42.647 23032 23032 I art     :   at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
09-07 15:43:42.647 23032 23032 I art     :   at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:904)
09-07 15:43:42.648 23032 23032 I art     :   at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:794)
09-07 15:43:42.648 23032 23032 I art     : Caused by: java.lang.ClassNotFoundException: Didn't find class "android.webkit.RenderProcessGoneDetail" on path: DexPathList[[zip file "/data/app/com.android.chrome-2/base.apk"],nativeLibraryDirectories=[/data/app/com.android.chrome-2/lib/arm64, /data/app/com.android.chrome-2/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
09-07 15:43:42.648 23032 23032 I art     :   at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
09-07 15:43:42.648 23032 23032 I art     :   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
09-07 15:43:42.648 23032 23032 I art     :   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
09-07 15:43:42.648 23032 23032 I art     :   at xf com.android.webview.chromium.WebViewChromiumFactoryProvider.a(android.webkit.WebView, android.content.Context) (SourceFile:209)
09-07 15:43:42.648 23032 23032 I art     :   at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (SourceFile:63)
09-07 15:43:42.648 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636)
09-07 15:43:42.648 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:572)
09-07 15:43:42.648 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:555)
09-07 15:43:42.648 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:542)
09-07 15:43:42.648 23032 23032 I art     :   at void android.webkit.WebView.<init>(android.content.Context) (WebView.java:532)
09-07 15:43:42.648 23032 23032 I art     :   at void com.codename1.impl.android.AndroidImplementation$21$1.<init>(com.codename1.impl.android.AndroidImplementation$21, android.content.Context) (AndroidImplementation.java:4143)
09-07 15:43:42.648 23032 23032 I art     :   at void com.codename1.impl.android.AndroidImplementation$21.run() (AndroidImplementation.java:4143)
09-07 15:43:42.648 23032 23032 I art     :   at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:754)
09-07 15:43:42.648 23032 23032 I art     :   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:95)
09-07 15:43:42.648 23032 23032 I art     :   at void android.os.Looper.loop() (Looper.java:163)
09-07 15:43:42.648 23032 23032 I art     :   at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6396)
09-07 15:43:42.648 23032 23032 I art     :   at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
09-07 15:43:42.648 23032 23032 I art     :   at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:904)
09-07 15:43:42.648 23032 23032 I art     :   at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:794)
09-07 15:43:42.648 23032 23032 I art     : 
09-07 15:43:42.751 23032 23032 D EgretLoader: EgretLoader(Context context)
09-07 15:43:42.754 23032 23032 D EgretLoader: The context is not activity

1 个答案:

答案 0 :(得分:0)

您需要在Android 6+中提示输入本机权限。将它们添加到XML仅适用于旧版本的Android。如果您使用代号为One的相机API,但这通常是自动的,但不适用于HTML,因为我们无法告知您将尝试访问相机。

您可以创建类似以下内容的native interface

public boolean promptCameraPermission();

您可以在不需要其他所有平台的情况下将其保留为未实现状态,然后在支持为true时,只需调用它即可获得许可。

return checkForPermission(Manifest.permission.CAMERA, "This is required to take a picture");

请确保导入com.codename1.impl.android.AndroidImplementation;