当前位置: 首页 > news >正文

Android 在WebView中加载H5传递图片

最近h5开发一个编译器,要在手机上显示,需要获取手机上的图片,使用webview不能直接到文件管理拿取,还需要对webview做处理,做个记录,方便以后使用;

public ValueCallback<Uri[]> mUploadMessageForAndroid5;

用这个方法去给定义的字段赋值,并使用方法跳转到手机本地拿到图片;一定要返回 true ,否则会报错的;

binding.webView.setWebChromeClient(new WebChromeClient(){// For Android => 5.0public boolean onShowFileChooser (WebView webView, ValueCallback<Uri[]> uploadMsg,WebChromeClient.FileChooserParams fileChooserParams) {mUploadMessageForAndroid5 = uploadMsg;onenFileChooseImpleForAndroid(uploadMsg);return true;}});

拿到用户文件返回的并返回给webview显示;

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);Uri result = data.getData();mUploadMessageForAndroid5.onReceiveValue(new Uri[]{result});mUploadMessageForAndroid5 = null;
}

跳转手机本地图片的方法;

private void onenFileChooseImpleForAndroid(ValueCallback<Uri[]> filePathCallback) {mUploadMessageForAndroid5 = filePathCallback;Intent contentSelectionIntent = new Intent(Intent.ACTION_GET_CONTENT);contentSelectionIntent.addCategory(Intent.CATEGORY_OPENABLE);contentSelectionIntent.setType("image/*");Intent chooserIntent = new Intent(Intent.ACTION_CHOOSER);chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelectionIntent);chooserIntent.putExtra(Intent.EXTRA_TITLE, "Image Chooser");startActivityForResult(chooserIntent, 2);
}

以上只做了跳转拿取图片,没有做文件或者视频的,如果以后有用到再更新。

http://www.lryc.cn/news/291176.html

相关文章:

  • 图的学习
  • 空间数据分析入门POI与莫兰指数基础知识笔记
  • TortoiseSVN各版本汉化包下载
  • STM32连接阿里云物联网平台
  • 力扣hot100 组合总和 回溯 剪枝 组合
  • 代码随想录 Leetcode669. 修剪二叉搜索树
  • Redis系列-数据结构篇
  • 正则表达式(RE)
  • 发布技术路线图!美国量子计算公司QuEra公开三年OKR
  • Vue2:请求接口的两种方式axios和vue-resource
  • 扩展学习|商业智能和大数据分析的研究前景(比对分析)
  • 『Docker入门指南』- 详细安装与配置教程,助你起航容器化世界!
  • 如何提高http连接成功率?
  • Elasticsearch 中使用MustNot等同于不等于遇到的坑
  • 嵌入式工程师day15(链表)
  • Coppeliasim倒立摆demo
  • 汽车燃油泵数据分析:全球市场的年复合增长率将达到10%左右
  • DC-磁盘管理(23国赛真题)
  • 216961-98-7,BODIPY 493/503 NHS 活化酯,可以应用于分子生物学等领域中
  • Python采集学习笔记-读取excel数据
  • 幻兽帕鲁服务器游戏怎么升级版本?
  • 【ASP.NET Core 基础知识】--身份验证和授权--授权和策略
  • 20240130在ubuntu20.04.6下卸载NVIDIA显卡的驱动
  • 汽车标定技术(十七)--Bypass的前世今生
  • 【开源精选导航】GitHub-Chinese-Top-Charts:一榜在手,优质中文项目轻松找寻
  • C++ 11新特性之语法甜点1
  • 【智能家居】6、语音控制及网络控制代码实现
  • Windows断开映射磁盘提示“此网络连接不存在”,并且该磁盘直在资源管理器中
  • Java项目要不要部署在Docker里?
  • Linux 入门基础知识(一)—— Linux的基本使用