首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android scheme呼起App

    protected void onCreate(Bundle savedInstanceState) { //... // 获取uri参数 Intent intent = getIntent...所以一般呼起App的页面都会延迟自动跳转下载页,无论有没有成功呼起App,这也是迫不得已 除了页面发出请求,还有一种更强的方式:通过应用发出请求,例如: // 通过webview发出请求 webview.loadUrl...(mySchemeUri); 这个起点就是应用级,比WebView中页面请求要强一些。...所以一般Hybrid App中,客户端会提供这样的接口,用来跳转第三方,比页面请求更强 四.Intent Scheme URL攻击 自定义Scheme存在安全风险,比如: 注册优先级更高的相同intent...filter,窃取scheme uri 如果知道跳转的自定义scheme格式,可以跳向钓鱼页面(确实是在App里打开的页面,但它是第三方做的假的) …其它风险 一般自定义scheme都是不公开的,但难免会泄漏出去

    1.9K20

    WebView 的 input 上传照片的兼容问题

    对方说他们的新的需求,需要接入方配合上传资产照片的需求,测试之后发现我们这边的 app 端,IOS 端上传没有问题,而 Android 端则点击没有任何反应。...解决问题 因为 Android 的版本碎片问题,很多版本的 WebView 都对唤起函数有不同的支持。...我们通过 Intent 在openFileChooser()中唤起系统相机和支持 Intent 的相关 app。...在系统相机或者相关 app 中一顿操作之后,当返回 app 的时候,我们在onActivityResult()中将选择好的图片通过ValueCallback的onReceiveValue方法返回给 WebView...当点击拍照之后,如果相机是横屏拍照的话,当拍照结束之后跳回 app 的时候,会导致 app 端当前的 webView 页面销毁并重新打开,需要在androidManifest.xml中当前 Activity

    2.1K50

    WebView深度学习(二)之全面总结WebView遇到的坑及优化

    上篇文章讲到了WebView的基本使用以及Android和js的交互. 这篇文章讲一下WebView遇到的那些坑,带领各位爬坑。这里如果有你没遇到的问题,欢迎留言告诉我,我尽我所能帮你解决。...◆◆ 解决方案:在proguard-rules.pro中添加混淆。...: 做的软件,在一些机器上,打字的时候,EditText中的内容会出现重叠,而大部分机器没有,所以感觉不是代码的问题,一直没有头绪。...解决方案:在EditText中加入一句: android:layerType=”software” 图片无法显示: 做的程序里有的时候会需要加载大图,但是硬件加速中 OpenGL对于内存是有限制的...好处:在进行动画,使用software可以只画一次ViewTree,很省。 不适合使用场景:View树经常更新时不要用。尤其是在硬件加速打开时,每次更新消耗的时间更多。

    6K30

    webview拉起拍照和录像的爬坑终结篇

    对于iOS环境上,简单的两个配置就OK啦 即只需在配置里加上摄像头和麦克风的使用权限。...这里,用户在h5上点击文件,我们以下环节实现的WebChromeClient中,基于不同Android的api版本中的回调函数会被触发: public class EssWebChromeClient...这里还有一个属性值得我们去关注: capture 属性是一个字符串,如果accept 属性指出了 input 是图片或者视频类型,则它指定了使用哪个摄像头去这些数据。...值 :user 表示应该使用前置摄像头和/或麦克风。 值: environment 表示应该使用后置摄像头和/或麦克风。...name="my_images" path="Android/data/com.tencent.xxx/files/Pictures" /> 因为我们拍照存储的临时文件,防止在相册中

    4.1K40

    Android 2.0 --- 2.3 API变更概要:

    · 新的快速通信framework APIs 允许开发者在他们的应用中创建通信标记, 一键点击标记打开一个新的窗口展示一个如何联系当前人的列表.  5、WebView   · 不赞成使用的类...比如说,用户可以在拍完照后将其上传到网上,而这一切都是在浏览器内完成的。  4、支持Flash 10.1。Froyo支持最新的Flash 10.1   Beta版。...() 获取摄像头数量。   ...新增 get() 方法,可以获取摄像头配置信息 CamcorderProfile  新增 getJpegEncodingQualityParameter() 获取jpeg编码质量参数可以在 CameraPreview.java...照片EXIF信息改进  新增经纬度标签在JPG格式的EXIF中,同时可以使用 getAltitude() 方法获取经纬度的EXIF信息  新增setOrientationHint() 可以让程序获取视频录制的方向

    58440

    Android知识点

    频繁操作的文件建议考虑使用缓冲提高程序性能,intent不要传递大量数据,使用持久化数据来处理(存在文件中),不要在application中缓存数据 在涉及网络的操作中,必须要考虑到没有网络和信号差等情况...在ScrollView中添加一个Android:fillViewport="true"属性就可以了。顾名思义,这个属性允许 ScrollView中的组件去充满它。...此时可以接入一些第三方的日志记录工具。在开发状态下不建议使用友盟 360之类sdk,因为很有可能我们的app根本无法连接到网络就崩溃了。 可以选择把日志存到本地文件中。再由使用手机的人发回来。...如果返回的List非空,那么你才可以安全的使用这个intent。...())最多为3(在destroyItem()中调用了removeView()),如果要获取ViewPager某个子页面,千万不能使用getChildAt(position),会造成数组越界。

    67910

    基于腾讯x5开源库,提高60%开发效率

    x5的WebViewClient,如果要自定义WebViewClient必须要集成此类,一定要继承该类,因为注入js监听是在该类中操作的 02.如何使用 2.1 如何引入 如何引用,该x5的库已经更新到最新版本...://www.jianshu.com/p/ad22b2649fba 4.0.5 使用scheme协议打开链接风险 常见的用法是在APP获取到来自网页的数据后,重新生成一个intent,然后发送给别的组件使用这些数据...如果在APP中,没有检查获取到的load_url的值,攻击者可以构造钓鱼网站,诱导用户点击加载,就可以盗取用户信息。...// 值得注意的是,不同的是过时的版本的回调,新的版本将被称为任何资源(iframe,图像等) // 不仅为主页。因此,建议在回调过程中执行最低要求的工作。...具体操作如下所示: 在onPageStarted开始加载资源的方法中,获取加载url的host值,然后和本地保存的合法host做比较,这里domainList是一个数组@Override public

    3.6K30

    Android 监听安装和卸载

    Android 应用程序的安装和卸载事件,是由系统进行监听并全局广播的,支持1.5(android 3)以上 因此,如果想要监听获取应用的安装和卸载事件,只需要自定义一个BroadcastReceiver...使用前,需要进行注册监听(xml和代码两种方式),不使用时需要注销监听,其生命周期一般为整个应用的生命周期 1, 自定义广播 自定义广播MyInstalledReceiver继承自BroadcastReceiver...xml 方式 在AndroidManifest.xml 配置文件的Application节点下,添加自定义的注册监听 MyInstalledReceiver android:minSdkVersion="3" /> 在AndroidManifest.xml 添加的注册监听,其生命周期默认是整个应用的生命周期...2) 代码方式 一般在Activity的onStart()方法中注册监听,在onDestroy()方法中注销监听(也可以在onStop()方法中注销,其生命周期注销时结束) @Override

    2.3K30

    笔记(24)安卓各版本特性简述

    2.请求位置权限(位置权限不能和别的权限同时请求,并且建议前台位置权限和后台位置权限分开请求) 3.软件包可见性(限制app不去访问别的应用的包名及内容,如果需要访问则可以在manifest文件中添加对应应用的...query) 4.前台服务类型(在前台服务要使用摄像头和麦克风需要再service中添加对应的camera和microphone) 5.权限自动重置(长时间未使用,则重置权限)。...那么在Android 11中需要增加READ_PHONE_NUMBERS权限,使用其他方法不受限。...2.麦克风和摄像头权限开关(下拉菜单新增麦克风和摄像头权限开关) 3.activity生命周期优化 影响目标API级别为Android12的App的行为变更 1.更安全的组件导出 2.PendingIntent...如果你的APP通过引用非 SDK 接口或尝试使用反射或 JNI 来获取句柄,这些限制就会起作用。官方给出的解释是为了提升用户体验、降低应用崩溃风险。

    67410

    【Flutter】手机应用类型 ( Android | iOS | Native 应用 | Web 应用 | Hybrid 应用 | ReactNative 应用 | Flutter 应用 )

    / iOS , 各自开发本平台的应用 ; Android 使用 Android Studio 开发环境 , Java / Kotlin / C / C++ 语言 , 开发 Android 平台的应用...WebView / 浏览器 在 Android / iOS 手机中展示网页 , 如 PhoneGap 技术 , 该技术属于网页的前端开发 , 会绘制渲染效率受 WebView 或 浏览器内核 限制 ;...开发使用的技术就是网页前端相关技术 , JavaScript + HTML5 + CSS ; 写出移动端的页面在浏览器 / WebView 上运行 ; 浏览器 与 WebView 性能不是很高 , 优化到极限...Android , iOS , Windows , Linux , Mac , 嵌入式设备 , 等有浏览器的设备上运行 缺点 : 性能低 , 受浏览器 / WebView 性能限制 资源在服务器 , 受网络限制...如果通信非常频繁 , 对性能消耗很大 ; 貌似快凉了 ; 先挂着 , 有时间学一下 ; 五、Flutter 应用 ---- Flutter 特点 : 使用了跨平台的绘制引擎 Skia , 可以在不同的平台

    1.7K30

    Android开发笔记(序)写在前面的目录

    DownloadManager Android开发笔记(一百零九)利用网盘实现云存储 Android开发笔记(一百一十)使用http框架上传文件 第三卷 通信 共6章28节 第十三章 组件通信...交互的四种形式 Android开发笔记(一百五十二)H5通过WebView上传图片 Android开发笔记(一百六十六)H5通过WebView录像上传 第四十章 三维动画 Android开发笔记...MipcaActivityCapture Android开发笔记(五十六)摄像头拍照 带数字进度的进度条 CustomProgressBar Android开发笔记(六十一)文件下载与上传 滚轮对话框...开发笔记(一百一十)使用http框架上传文件 okhttp网络通信3 okhttp3 Android开发笔记(一百一十)使用http框架上传文件 okhttp流处理 okio Android开发笔记(一百一十...)使用http框架上传文件 常用网络命令库 (ftp/telnet/smtp) org.apache.commons.net Android开发笔记(一百一十)使用http框架上传文件 sftp库

    2.9K40

    JSBridge小科普

    一旦系统捕获到注册表中的Schema URI,就会通过此URI地址执行该Schema协议定义的Native操作,执行一段Native代码或者打开APP的某个页面(如打开摄像头,唤起图片预览功能,跳转APP...jsBridge_native Schema.png 1.2 通过代码注入(针对webView组件) 以Android为例,可以通过addJavascriptInterface方法将Native的一个对象注入到页面中.../** * 添加javascriptInterface * 第一个参数:这里需要一个与js映射的java对象 * 第二个参数:该java对象被映射为js对象后在js里面的对象名,在js中要调用该对象的方法就是通过这个来调用...Android 4.4 以前,通过 loadUrl 方法,执行一段 JS 代码来实现(缺点是效率低,无法获得返回结果,且调用的时候会刷新 WebView): /** * js中声明全局函数 */ <...("javascript:log('"+text+"')"); } } 4.4 以后,可以使用 evaluateJavascript 方法实现(效率更高,可获取返回值,调用时候不刷新WebView

    2.8K30

    API level targeting to 28,准备好了吗?

    分享sdk、微信分享等 注意:有上传图片,需要接口回调的模块 【3....前台服务权限】 说明 在Android 9.0 中,应用在使用前台服务之前必须先申请FOREGROUND_SERVICE权限,否则就会抛出Security Exception 异常。...如果您的应用有多个使用Web View,CookieManager或android.webkit包中的其他API的进程,则当第二个进程调用WebView方法时,您的应用将崩溃。 【6....其他行为变更】 6.1 Build.SERIAL (设备唯一标识符)被弃用 说明 Android 9.0 之前,开发者可以使用Build.SERIAL 获取设备的序列号。...如果您的应用在运行Android 9 设备的后台运行,系统将对您的应用采取以下限制: 您的应用不能访问麦克风或摄像头。 使用连续报告模式的传感器(例如加速度计和陀螺仪)不会接收事件。

    1.3K20

    首个hybird商业项目踩坑总结

    版本混合使用, // Android版本变量 final int version = Build.VERSION.SDK_INT; // 因为该方法在 Android 4.4 版本才可使用,所以使用时需进行版本判断...通过WebViewClient 的shouldOverrideUrlLoading()方法回调这个使用起来也比较简单,也不存在方式1的安全隐患,不过JS获取Android方法的返回值复杂。...如果JS想要得到Android方法的返回值,只能通过 WebView 的 loadUrl ()去执行 JS 方法把返回值传递回去 WebView的文件上传 当在网页里有文件上传组件时,我们惊奇的发现...接下来我讲简单提供一下解决方案,先说一下思路 接收WebView打开文件选择器的通知,收到通知后,打开文件选择器等待用户选择需要上传的文件 在onActivityResult中得到用户选择的文件的Uri...现在流行的有以下两种解决方案 独立进程法 独立进程法顾名思义是让包含WebView的Acitivy以android:process=":web"的形式指定单独进程,然后在需要退出的时候使用System.exit

    1.2K10

    这是一份Android全面&详细的-Webview使用攻略

    简介 WebView是一个基于webkit引擎、展现web页面的控件。 Android的Webview在低版本和高版本采用了不同的webkit版本内核,4.4后直接使用了Chrome。 2....使用介绍 一般来说Webview可单独使用,可联合其子类一起使用,所以接下来,我会介绍: Webview自身的常见方法; Webview的最常用的子类 (WebSettings类、WebViewClient...//LOAD_NO_CACHE: 不使用缓存,只从网络获取数据....3.4.1 不在xml中定义 Webview ,而是在需要的时候在Activity中创建,并且Context使用 getApplicationgContext() LinearLayout.LayoutParams...Activity 销毁( WebView )的时候,先让 WebView 加载null内容,然后移除 WebView,再销毁 WebView,最后置空。

    4.6K20

    如何优雅的对Webview进行截屏?

    这种方式可以获取webview中已加载的所有数据图像,也就是长截屏的效果。这种方式在Android 4.4以下是没有问题的,但是在5.0以上就行不通了。...capturePicture()方法在4.4中废弃掉了,官方建议使用onDrow()方法来获取webview的bitmap快照。具体实现如下: ?...但是此时在5.0+上会发现,截取的快照只显示了webview中显示出来的那部分,没有显示出来的部分是空白的。...因此在默认情况下会智能的绘制html中需要绘制的部分,其实就是当前屏幕展示的html内容,因此会出现未显示的图像是空白的。解决办法是调用enableSlowWholeDocumentDraw()方法。...因此对于webview来说也可以使用这种方式,在使用getDrawingCache()方法获取bitmap对象前,先开启webview的缓存功能. ?

    2.3K20
    领券