我有一个hi-bride应用程序,其中一个html页面有文件选择器,我想在 Android webview中加载该页面.

此选择器在设备浏览器中运行良好,但在webview中不适用.

为了支持这一点,我使用了WebChromeClient的一个隐藏方法,如下所示

public void openFileChooser(ValueCallback<Uri> uploadMsg,String acceptType){  
            /**updated,out of the IF **/
            mUploadMessage = uploadMsg;
            /**updated,out of the IF **/
            if(boolFileChooser){ //Take picture from filechooser
                Intent i = new Intent(Intent.ACTION_GET_CONTENT);  
                i.addCategory(Intent.CATEGORY_OPENABLE);  
                i.setType("image/*");  
                startActivityForResult( Intent.createChooser( i,"Pick File.." ),FILECHOOSER_RESULTCODE );  
            } else { //Take photo and upload picture
                Intent cameraIntent = new Intent("android.media.action.IMAGE_CAPTURE");
                photo = new File(Environment.getExternalStorageDirectory(),"Pic.jpg");
                if(photo.exists())
                    photo.delete();
                cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(photo));
                mCapturedImageURI = Uri.fromFile(photo);
                startActivityForResult(cameraIntent,CAMERAREQUEST_RESULTCODE);
            }
        }
    // Per Android < 3.0
        public void openFileChooser(ValueCallback<Uri> uploadMsg){
            openFileChooser(uploadMsg,"");
        }
        //Aftre
        public void openFileChooser(ValueCallback<Uri> uploadMsg,String acceptType,String capture) {
            openFileChooser(uploadMsg,"");
        }

它工作正常,直到4.3,但从4.4开始这个方法没有被调用.
他们说https://code.google.com/p/android/issues/detail?id=62220已被删除.

有谁知道任何替代方式.请让我知道你的帮助将不胜感激

解决方法

4.3之后没有办法打开OpenCileChooser方法,因为谷歌已经删除了它,他们会在下一个版本中提出处理这个文件选择器的其他方法(由谷歌工程师确认).

我转向混合架构并为文件选择器编写本机函数.

javascript – 用于文件选择器openFileChooser()方法,不调用Kitkat 4.4的WebChromeClient的更多相关文章

  1. ios – 在Swift中删除WKWebView Accesory栏

    我现在正试着将this转换成Swift而没有真正的背景.这是我到目前为止所得到的…而且我一直在寻找谷歌并不知道要搜索什么才能更具体.你能否详细说明我做错了什么?

  2. ios – 使用简洁的NSManagedObjectID URI形式?

    我想避免字符串操作,因为感觉到icky,但我会考虑它,如果这是唯一的方法.我唯一的混淆是在上面的例子中“EE13EA1E-D5F4-4E38-986D-3F4B0B03AEE4”部分来自哪里.为了重建一个有效的URI,我该如何访问该值?

  3. iOS谷歌地图sdk GMSMarker定位

    我正在使用Google地图,我可以通过使用将地图集中到GMSMarker我显示一个大小为200*150的自定义标注,当相机位置改变时,它的一部分被隐藏,但是我想要将标注放在中央,并且地图指向下方.任何想法如何做到这一点.解决方法看看使用GMSProjection.要将地图的中心从标记位置移动100px,您可以执行以下操作:

  4. iOS和Google Firebase – 如何执行通知操作

    解决方法在我写这个问题时想出来,谷歌搜索没有帮助我,所以希望这会帮助别人.我在本文档中找到了答案:FCMHTTPProtocol在“通知有效负载支持”部分中,参数click_action表示“表示与用户单击通知关联的操作.对应于APNs有效负载中的类别”.所以click_action==aps.category

  5. 可可 – 在Swift中获取应用程序名称

    如何在Swift中获取应用程序名称?谷歌给了我这个:我把它转换成了Swift;错误–方法不存在:这应该工作:infoDictionary被声明为一个varinfoDictionary:[NSObject:AnyObject]!所以你必须打开它,作为一个Swift字典访问它,结果是一个AnyObject,转换它。更新Swift3在可能的情况下总是更好地使用常量:

  6. swift – 如何URI编码图像?

    究竟是什么意思?这是否意味着将图像转换为base64字符串,然后将其传递给请求?

  7. swift – 使用Firebase登录时“访问钥匙串时出错”

    PS.对不起,如果我错过任何东西,这是我第一次发布.尝试打开项目目标的功能钥匙串共享.这对我有用KeychainSharing

  8. android – 是否有任何Google Now API可以将我们自己的应用程序集成到现在?

    如何向Google即时提供我的应用数据的信息或卡片?解决方法Google即时API仅适用于向Google注册其应用的用户,它是私有的.谷歌控制哪些卡将在他们的谷歌即时应用程序上显示.因此,您需要与Google联系并注册您的应用以获取NowAPI,然后您可以构建自己的Now卡.

  9. android – 我可以从谷歌播放中删除alpha测试中发布的应用程序吗?

    我已将我的应用程序发布到alpha测试中以进行测试.现在我想从列表中永久删除它.那么,是否有可能以alpha模式删除已发布的应用程序?解决方法如果您的应用是Alpha版,则没有人下载它.您必须先取消发布您的应用,然后与Google联系.他们会为您删除您的应用.我让他们为我删除1个应用程序.

  10. 如何在Android 4.0中的HTML5VFullScreen $SurfaceVideoView中获取HTML5视频URI?

    我想在用户点击视频控制栏中的全屏按钮时获取HTML5视频URI.根据this,Android4.0中的HTML5视频视图是SurfaceView,而不是VideoView.有人能告诉我如何在SurfaceVideoView中获取URI吗?这是我的代码.非常感谢.解决方法容易,使用反射.把它放在onShowCustomView()方法中:

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部