首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android--WebView使用addJavascriptInterface在sdk 17的问题

当调用WebView 的addJavascriptInterface时,使用android:targetSdkVersion="10"时是没有问题的,能够触发事件,但是毕竟使用版本时一般都使用最新的,...我在开发时为了追求新,然后使用了android:targetSdkVersion="17"的属性,开始使用时并没有什么问题,大多数手机是可以使用的,比如中兴的N986,小米的MIMU4.1的系统是没有问题的...,系统为2.3的几个机型也没看出问题,后来三星Note3上出问题啦,调用不了这个事件,我也纠结了半天,后来在网上查找原因,是去年android的漏洞所致, 所以修改方法有两个: 1,修改android:...查找官方文件:说在17以上需要添加一个接口JavascriptInterface才能用,后来仔细看了官方的Demo才找到,就是蓝色加粗部分。...(new JsObject(), "injectedObject"); webView.loadData("", "text/html", null); webView.loadUrl("javascript

87620

eBPF在android上的使用

BCC在android系统上也可以运行,但是要对系统进行一定程度的修改,后续可能会写单独的文章进行讲解。对于内核开发者我还比较关注怎么自己来实现监控的功能,下文也将做简单的讲解。 ?...8)中断性能 三、eBPF框架 在开始说明之前先解释下eBPF上的名词,来帮忙更好的理解。...四、eBPF在Android平台的使用 经过上面枯燥的讲解,大家应该对eBPF有了基础的认识,下面我们就来通过android平台上的一个监控性能的小例子来实操下。...可以使用下面的命令调试动态加载 ? 4. 用户空间程序实现 下面我们需要编写用户空间的显示程序,本质上就是在用户态通过系统调用把BPF map给读出来。 ? ?...至此,如何在android平台使用eBPF实现统计系统中每个pid在一段时间内系统调用的次数的功能就介绍完了。

4.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ProGuard 在 Android 上的使用姿势

    如果以上还不足以说服您使用 ProGuard,其实移除无用代码和混淆所有名称还有其他更多的优化效果: 在一些版本的 Android 设备上,DEX 代码会在安装或者运行时被编译成机器码。...这些警告的一个原因就是,您的构建路径中没有加入需要依赖的 JARs,如使用了 provided (仅编译时)依赖。而有时候,在 Android 上这些代码的依赖在运行时并不会被真正的调用。...在某些情况下,ProGuard 的警告确实有助于您发现闪退的罪魁祸首和关于您配置上的其他问题。...APK Analyzer 和 ProGuard Android Studio 集成的 APK Analyzer 可以帮您看到哪些类被 ProGuard 移除了并支持为它们生成 keep 规则。...tools 目录下(SDK/tools/proguard/proguard-android.txt),但在新版的 SDK Tools 和 Android Gradle 插件版本2.2.0+上,可以在构建时从

    2.6K40

    MAC上使用Android Studio 3.0的Gradle问题小解

    MAC上使用Android Studio 3.0的Gradle问题小解 2017-06-11 by Liuqingwen | Tags: Android Gradle | Hits 一...、问题 Google I/O 大会后发布了最新的 Android Studio 3.0 预览版,其中新版本的新特性中直接支持我很想使用的 Kotlin 语言。...下载了 Mac 版本的 Android Studio 3.0 Canary 3 后,发现新建项目后出现一些构建上的问题,主要是 AS 3.0 预览版构建工具使用的是 4.0 新版本的 Gradle ,在工程项目文件...另外,在我后来 Windows 10 上使用 AS 3.0 时并没有出现这些 Gradle 相关的问题,构建一切正常!...我采用的是直接在 Android Studio 3.0 预览版中单独设置 Gradle 的工作路径。在设置中: Android Studio->Preferences...

    2.6K20

    MongoDB在Android上的使用体验

    【前言】一般来讲,Android使用的数据库都是自带的SQLite数据库。Web重量级的MySQL、Orcacle、NOSQL等都不适用于Android项目的开发。...但是我发现了一个Web上最近几年比较火的一个数据库 ---- MongoDB。查看它的官网发现,它还可以用于Android开发,而且官方文档也给出了一些API说明。...于是我决定写下这篇博客分享一下MongoDB在Android上怎么使用。...【说明】:MongoDB也可以在iOS上面使用,我是做安卓开发的,本文只讲解MongoDB在Android上面的使用,iOS的使用情况请上MongoDB官网自行查阅。...默认情况下,Android Studio会为AVD部署选择x86映像,刚好运行的模拟器使用了x86镜像,导致了这个错误的发生。

    3.7K20

    如何正确的在 Android 上使用协程 ?

    第一类是 Medium 上热门文章的翻译,其实我也翻译过: 在 Android 上使用协程(一):Getting The Background 在 Android 上使用协程(二):Getting started...在 Android 上使用协程(三) :Real Work 说实话,这三篇文章的确加深了我对协程的理解。...在 Android 中,一般是不建议直接使用 GlobalScope 的。那么,在 Android 中应该如何正确使用协程呢?再细分一点,如何直接在 Activity 中使用呢?...协程在 Android 上的使用 GlobalScope 在一般的应用场景下,我们都希望可以异步进行耗时任务,比如网络请求,数据处理等等。当我们离开当前页面的时候,也希望可以取消正在进行的异步任务。...所以 livedata-ktx 的使用是有一定限制的。对于需要用户主动刷新的场景,就无法满足了。在一次完整的生命周期内,一旦成功执行完成一次,就没有办法再触发了。

    2.8K30

    hybrid.js_js交互是什么意思

    方法调用 Android 代码(4.2及以上的系统才能使用) 总结: Hybrid开发—WebView与js交互实现 一、 引言 Hybrid App(混合模式移动应用)是指介于web-app、native-app...WebView当做一个轻量级的浏览器使用。...如果对WebView的使用以及方法不是很了解,可以看Android:这是一份全面 & 详细的Webview使用攻略这篇文章,这里面讲解了WebView 的基本使用。...黄色的是app 本身的布局,在输入框中输入数据然后点击发送,就能把数据发送给Js进行处理,在网页中点击发送按钮,也同样的能把网页中输入框内的数据发送给app 本身并显示出来,这个小Demo 就简单的实现了...加载js 接口的时候有没有定义的sendData 方法 if( window.sendData ){ sendData.setValue(str); }else{ alert("Android

    10.1K30

    android客户端和服务端js交互

    在android的开发过程中,有很多时候需要用到本地java代码和javascript进行交互。...android对交互进行了很好的封装,在开发中我们可以很简单的用java代码调用webview中的js,也可以用webview中的js来调用本地的java代码,这样我们可以实现很多原来做不了的功能,比如点击网页上的电话号码后...废话不多说,这次教程的目标如下 android 中的java代码调用webview里面的js脚本 webview中的js脚本调用本地的java代码 java调用js并传递参数 js调用java并传递参数...传递给webview,并指定别名,这样js脚本就可以通过我们给的这个别名来调用我们的方法,在上面的代码中,this是实例化的对象,wst是这个对象在js中的别名 功能三 java代码调用js并传递参数...这里是实例的html代码,从assert中加载,原来做项目的时候,从assert中加载的中文网页会出现乱码,解决办法就是给html指定编码。

    2.8K50

    Java与js的交互

    在android的开发过程中,有很多时候需要用到本地java代码和javascript进行交互。...android对交互进行了很好的封装,在开发中我们可以很简单的用java代码调用webview中的js,也可以用webview中的js来调用本地的java代码,这样我们可以实现很多原来做不了的功能,比如点击网页上的电话号码后...废话不多说,这次教程的目标如下 android 中的java代码调用webview里面的js脚本 webview中的js脚本调用本地的java代码 java调用js并传递参数 js调用java并传递参数...将object 传递给webview,并指定别名,这样js脚本就可以通过我们给的这个别名来调用我们的方法,在上面的代码中,this是实例化的对象,wst是这个对象在js中的别名 功能三 java代码调用...这里是实例的html代码,从assert中加载,原来做项目的时候,从assert中加载的中文网页会出现乱码,解决办法就是给html指定编码。

    5K90

    开发一个属于自己的app

    2、安装Android studio开发者工具。 3、一部手机,一条数据线 环境搭建大家可以进行搜索一下,安装包,我这里都会给到链接,大家可以自行下载。...02、 新建一个app 准备工作做好了,那我们来新建一个空模板app: 在android Studio中新建一个,设置好 Application name和Company domain后,下一步(next...在选择类型的时候选择 empty Activity; 下一步,然后点击完成,成功建立空模板app 03、 修改文件 我们新建好的文件,需要修改部分文件,当然现在已经可以了,但是,我们要让app显示我们自己的喜欢的网站...将里面原有的TextView标签删掉,然后加入,如图 WebView android:id="@+id/Toweb" android:layout_width="fill_parent" android...看一下你的手机有没有多一个软件。

    80540

    JS & JAVA(Android) 的互相调用(简介)

    ,"javaInterface"); 说到调用方法, 那么我们首先得有一个方法可以让我们去调用,在Android 4.4 之前我们可以使用 loadurl 去执行, 代码如下: //注意,这个已经在项目中被我注释掉了...,因为我们有更好的解决办法 mWebView.loadUrl("javascript:changeColor()"); 在android 4.4 之后我们可以使用最新的办法...一、 Android 4.4 之前 JAVA 调用J S并取到返回值 目前的解决方案是通过java反射机制 在android.webkit包中有个BrowserFrame私有类,该类中有个Native...2.将布局文件中的WebView修改为自定义的WebView 3.使用新的WebView调用方法,执行js方法获取返回值 自定义WebView如下 public String stringByEvaluatingJavaScriptFromString...三、调试 Chrome 远程调试 如果你使用的是 Android 4.4 及其以上版本的 WebView ,那么这将是一个非常有用的功能,具体可以参考这个链接。 到此结束,再会。

    80820

    android中webview控件和javascript交互实例

    当我们要实现丰富的图文混排效果的时候,我们一般会使用webview,这是一个功能十分强大的的控件,来看看官方的解释: 复制代码 代码如下: A View that displays web pages...WebView和js的交互包含两方面,一是在html中通过js调用安卓的java代码;二是在安卓java代码中调用js。...在UI和视觉效果上就会节省很多时间,重复发明轮子没有任何意义。...您可能感兴趣的文章: 基于Android中Webview使用自定义的javascript进行回调的问题详解 Android webview与js交换JSON对象数据示例 解析Android中webview...和js之间的交互 Android中 webView调用JS出错的解决办法 android webview中使用Java调用JavaScript方法并获取返回值 Android WebView上实现JavaScript

    1.5K20

    Android scheme呼起App

    当前页,但iframe绝对没有太严重的副作用) 但无论哪种方式,都无法得知App被呼起了没,可能没安装App,也可能intent没匹配成功,但页面肯定没有办法得知。...所以一般呼起App的页面都会延迟自动跳转下载页,无论有没有成功呼起App,这也是迫不得已 除了页面发出请求,还有一种更强的方式:通过应用发出请求,例如: // 通过webview发出请求 webview.loadUrl...filter,窃取scheme uri 如果知道跳转的自定义scheme格式,可以跳向钓鱼页面(确实是在App里打开的页面,但它是第三方做的假的) …其它风险 一般自定义scheme都是不公开的,但难免会泄漏出去...+只触发WebResourceRequest request形式的,所以兼容考虑,两个都要重写一遍 对于满足过滤条件的,拦截掉,所以在微信里无法呼起App,因为不在白名单里,被拦截下来,没有交给系统广播...写在最后 Android Studio实在太慢了,怀念eclipse, 参考资料 Android 通过网页打开自己的APP(scheme) Android安全开发之浅谈网页打开APP 附iOS通过自定义的

    1.9K20

    WebView 和 JS 交互,如何将 Java 对象和 List 传值给 JS ?

    随着混合开发模式比较流行,很多时候,我们需要在原生的基础上,使用 WebView 加载网页,这样控制更加方便。今天我们来看看,如何将 Java 对象 和 List 集合传值给 JS 调用。...1 如何将 Java 对象实例传值给 JS 其实将我们在 Android 原生中将 Java 对象实例传值给 JS 承认并且可以使用的对象,方法非常简单。我们来举个例子。...它的意思就是告诉 JS ,这个可以用,所以我们在 Html 文件中,使用 person.get()对应的方法,可以获取到内容。...在 WebView 上是这样传值的: webView.loadUrl("file:///android_asset/test_object.html"); final Person p = new Person...就是在JS中调用 Android中的方法,里面可以按照索引返回集合中的对象,然后再获取对象中的属性。

    8.6K100

    Android_其他语言交互篇——Js、C#、C、C++

    WebView),最重要的是最后使用WebView的addJavascriptInterface(Object,String)方法(第一个参数是你上面定义的方法所在的类的对象,第二个参数是这个类的对象在...配置webview 随后在js中就可以使用你设置的那个String类型的名字来调用这个方法了: ?...: 关于安卓的WebView,一直是诟病所在;实际开发中人家IOS的页面玩到飞起,咱这边一直是卡卡卡,奶奶个腿儿的领导还以为都是我们没写好有没有,都是泪!...于是很多开发者将目光移到了腾讯X5浏览器内核上,我在其中一个项目中也用过,但是真的没有感觉到它快反而觉得很坑,logcat报各种奇葩错误(其实导入X5后只是在低版本系统的手机上使用了X5内核,高版本依旧是系统的...Chromium内核,所以我一直觉得腾讯开放的这个东东是自己使用的好东东的阉割版......这个没办法,谁让人家免费而且是老大呢)。

    2.3K20

    Android 和 Webview 如何相互 sayHello(一)

    本篇为第一篇:Android 和 webview 的交互 后续一篇是:IOS 和 webview 的交互 如需获得最新的内容,可以关注微信公众号:前端小吉米 在移动时代 Web 的开发方式逐渐从 PC...对于 PC Web 和 Hybird App 来说,给 HTML5 开发者最直观的感受就是,以前 PC 上一些底层基础功能,你可以直接在 App 里面,配合客户端直接使用。...本系列文章将分别介绍一下在 Android 和 IOS 系统下,开发 Hybird APP 大致流程和其中的需要注意、优化的地方。 本文主要介绍的是 Android 下 Webview 的开发。...的性能优化 Anriod 开发 Webview 基础 Webview 在 Android 里面其实就是一个组件而已,它可以像其他的 Android 组件一样在 screen 中定位布局。...webview 重定向解决办法 现在最关键的是如何判断当前打开的 webview 是有效果的?

    1.8K30

    使用AlarmManager设置的定时服务在Android4.4上可能不准确了

    Android4.4在前天发布了,随着Android4.4的源代码的放出,相信会有更多的手机会慢慢的升级到Android4.4,作为苦逼的Android开发人员,我们需要保证我们的应用在Android4.4...Android宣称为了电源的使用效率,在Android4.4上位所有应用的Alarm服务使用批量启动的方式来处理相似的时间以激活设备。...很多人想,这太不合理了啊,那我们根本就没有使用到Android4.4的新东西,只是用户的手机是Android4.4的系统,不能这么武断的就这么处理吧。...所以Android还是给了我们兼容的方案的,只要你的App的targetSdkVersion的Alarm时间还是精准的,和以前一样使用。...如果你想使用Android4.4及其以后版本的新功能,必须把targetSdkVersion设置成>=19,而又想要求Alarm的设置精准,那么怎么办呢,Android在4.4给我们提供了新的方法setExact

    95030
    领券