Android 5.0以上的手机使用原生WebView浏览网页,在进行登录的时候会提示验证码错误,通过查找5.0以上系统的api文档,发现5.0以上版本的webview做了较大的改动,如:同步cookie的操作已经可以自动同步.但前提是我们必须开启第三方cookie的支持. 解决方法:cookieManager.setAcceptThirdPartyCookies(webview, true); if(android.os.Build.VERSION.SDK_INT >= Build.VERSI…
[FAQ18076]Android 6.0 M版本默认会打开system verified boot,即在userdebug和user版本会把system映射到dm-0设备,然后再挂载.挂载前会检查system分区数据完整性,如果system分区被恶意修改了则不允许挂载system. userdebug版本如果需要remount system分区来push文件debug,不需要重新编译版本disable dm-verity,只需要执行以下adb命令即可. adb root adb disable…
异常如下 javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x610df808: Failure in SSL library, usually a protocol error error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (ex…
XML 代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" and…
1.BootCompletedReceiver.Java文件 public class BootCompletedReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Log.d("LibraryTestActivity", "recevie boot co…
<Connector port="443"  protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" keystoreFile="/?/?/b.keystore"  keystorePass="123456" ciphers=&…
快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题 转 https://www.jb51.net/article/144939.htm 今天小编就为大家分享一篇快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 对Android的SD卡进行读取权限设置时: ? 1 2 <uses-permission android:name="android.permission.WRITE_EX…
Android 5.0 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更.本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更. 如果您之前发布过 Android 应用,请注意您的应用可能受到 Android 5.0 中这些变化的影响. 如需详细了解新平台功能,请参阅 Android Lollipop 重要内容. Android Runtime (ART) 在 Android 5.0 中,ART 运行时取代 Dalvik 成为平台默认设置.Android 4.4 中已引入…
Android 8.0 行为变更 Android 8.0 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更.本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更. 其中大部分变更会影响所有应用,而不论应用针对的是何种版本的 Android.不过,有几项变更仅影响针对 Android 8.0 的应用.为清楚起见,本页面分为两个部分:针对所有 API 级别的应用和针对 Android 8.0 的应用. 针对所有 API 级别的应用 这些行为变更适用于 在 Android 8.…
本节书摘来自异步社区<深入理解Android 5 源代码>一书中的第2章,第2.2节分析Android源代码结构,作者 李骏. 网址:https://yq.aliyun.com/articles/93279?spm=5176.100239.blogcont93310.17.gtBsUg 2.2 分析Android源代码结构 获得Android 5.0源代码后,源代码的全部工程分为以下3个部分. Core Project:核心工程部分,这是建立Android系统的基础,被保存在根目录的各个文件夹…
前言 Android6.0发布后,其一系列新特新足够让我们这些Android程序员兴奋一段时间了.首先我们先看看具体有哪些新特性: -锁频下语音搜索 -指纹识别 -更完整的应用权限管理 -Doze电量管理 -Now on Tap -App link 具体可以参考Android 6.0有哪些新特性. 上面六个新特性中更完整的应用权限管理应该是和我们开发者关系最密切的了,接下来我们就来具体了解一下如何在Android 6.0上更好的使用Android系统权限. Runtime Permissions…
什么是JRebel for Android? 一款Android studio插件——允许你修改正在运行中的应用程序,而且不必重新部署或重启.支持所有运行Android 4.0及以上版本的手机和平板.由ZeroTurnaround开发.这是一款收费插件,每年49美元,免费试用21天. 通常在开发过程中,我们每次修改代码后想要在模拟器或者真机上看到修改后的效果,都需要将Android应用重新编译.打包和安装到Android设备上并重启,这个过程是非常耽误时间的.JRebel for Android…
相关 api getCallCapablePhoneAccountsAdded in API level 23 Android 5.0 之前的版本 Call from second sim 获取 sim 卡数量 public static boolean isMultiSim(Context context){ boolean result = false; TelecomManager telecomManager = (TelecomManager) context.getSystemSer…
http://www.cnblogs.com/dazhao/p/6547811.html 摘要: Android 6.0之后的版本增加了运行时权限,应用程序在执行每个需要系统权限的功能时,需要添加权限请求代码(默认权限禁止),否则应用程序无法响应:Android 7.0在Android 6.0的基础上,对系统权限进一步更改,这次的权限更改包括三个方面: APP应用程序的私有文件不再向使用者放宽 Intent组件传递file://URI的方式可能给接收器留下无法访问的路径,触发FileUriExp…
适用Android系统: 1) Android版本>= 5.0 2) 部分ROM是不支持 RemoteViews view=getRemoteViews(body,title, R.mipmap.ic_report_problem_red_24px, 0, date); if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.L){ notification.headsUpContentView=view; notification.vibrate= new…
本文转载自:http://www.jb51.net/article/128398.htm 这篇文章主要介绍了Android 6.0获取wifi Mac地址为02:00:00:00:00:00的解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下   前言: 之前项目比较旧,手机版本还比较低,还使用eclipse开发.用到了需要获取手机wifi Mac地址.使用了如下代码: // Android 6.0之前的版本可以用的方法(模拟器可以使用) private String getMacAdd…
android 8.0 对应的 sdk 版本  26 1. 通知栏 Android 8.0 引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的渠道.用户界面将通知渠道称之为通知类别. 针对 8.0 的应用,创建通知前需要创建渠道,创建通知时需要传入 channelId,否则通知将不会显示.示例代码如下: // 创建通知渠道 private void initNotificationChannel() { if (Build.VERSION.SDK_INT >= Build.VERS…
通过Charles代理,我们能很轻易的抓取手机的Http请求,因为Http属于明文传输,所以我们能直接获取到我们要抓取的内容.但是Https内容本身就是加密的,这时我们会发现内容是加密的了.本文我们来讲述一下如何使用Charles抓取Https数据包及相关原理知识. 一.Https客户端和服务器端通信的基本流程 那么如何抓包呢,原理其实说起来也很简单,就是在客户端给服务器端发消息的时候,中间人(Charles)截取客户端发送给服务器的请求,然后伪装成客户端与服务器进行通信:将服务器返回给客户端的…
1.问题起源报错语句是:java.lang.UnsupportedOperationException: For security reasons, WebView is not allowed in privileged processes因难以避免WebView存在安全漏洞,系统遭受攻击,Android不允许特权进程应用使用WebView.如果使用了,便会抛出以上异常.特权进程包括sharedUserId为ROOT_UID和SYSTEM_UID的进程,从Android O(8.0)开始共享P…
1. 使用app前缀(app:backgroundTint,app:backgroundTintMode),如果使用android前缀,在低版本上是拿不到值的,因为这些属性是5.0以后才加入的. 2. 自定义ATTRS数组,使用obtainStyledAttributes方法得到app:backgroundTint和app:backgroundTintMode的值. 3. 使用v4包中的ViewCompat类----ViewCompat.setBackgroundTintList,ViewCom…
http://blog.csdn.net/lovecluo/article/details/8710174 在做我们自己的APP的时候,为了让APP看起来更加的好看,我们就需要将我们的自己的View做成圆角的,毕竟主流也是将很多东西做成圆角,和苹果的外观看起来差不多,看起来也还不错.要将一个View做成圆角的也很容易,只需要建立一个自定义的Drawable就可以了.我们在res/drawable下面建立一个shape的drawable,代码如下: <?xml version="1.0&qu…
博客原文地址:http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html,要想打开,请FQ. Android 5.0 SDK在上周五发布,它以新的UI控件.材料设计-我们专注于良好设计的可视化语言为特色.为了能够让你把最新的设计应用到之前的Android平台上,我们扩展了我们的支持包,包括具有较大更新的AppCompat,同样还有新的RecyclerView.CardView和…
早在几年前,谷歌就推荐在Android2.3版本以上使用HttpURLConnection,而在即将正式发布的 Android P 版本中,谷歌彻底取消了对Apache HTTPClient的支持,针对此更改,开发者该如何正确适配 Android P ? 一.背景 1.参考谷歌提供的 Android P 版本变更说明文档: https://developer.android.com/preview/behavior-changes#apache-nonp https://developer.an…
android开发权限授权因为版本的不同有不同的授权方式,6.0以下的版本使用的是在注册表中添加权限的静态授权(这种授权权限提示只会出现在app安装的时候),而6.0以上(包含6.0)就需要动态授权的方式. 实现思维: 1.就算是动态授权依然需要在AndroidManifest.xml里添加静态权限. 2.动态权限的数组写法与KEY. 3.判断系统版本. 4.判断权限是否获取 5.授权完成后的回调方法执行 1.在AndroidManifest.xml里添加静态权限. <manifest xmln…
解决方案1: android.os.FileUriExposedException: file:///storage/emulated/0/ilive/images/photophoto.jpeg exposed beyond app through ClipData.Item.getUri() 解决办法: 将下面的代码拷贝到application类里面, // android 7.0系统解决拍照的问题 StrictMode.VmPolicy.Builder builder = new Stri…
登陆时splash初始页调用接口检查app版本.如有更新,使用okGo的文件下载,保存到指定位置,调用Android安装apk. <!-- Android 8.0 (Android O)为了针对一些流氓软件引导用户安装其他无关应用.在应用权限设置的“特殊访问权限”中,加入了“安装其他应用”的设置 --> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/> pa…
前提 Cordova Android 7.0.0开始改变了项目安卓平台的架构.新建一个空项目分别添加Android 6.4.0 和 Android 7.0.0平台: cordova platform add android@6.4.0 cordova platform add android@7.0.0 生成的安卓平台结构分别为: 可以看到Cordova从7.0.0项目结构开始和原生Android项目保持一致: 将AndroidManifest.xml,assets,res,libs资源目录整合…
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/178 对Android 8.0以上版本通知点击无效的一次分析 最近在重构聊天服务,有机会从新梳理下前人写的通知相关的逻辑,隐藏着一个很深的bug,遗留了应该有8个多月了.直到今天才定位出原因,之前一直怀疑是自己设备的问题…
一.背景 项目中,客户端与服务端之间普遍使用Https协议通信,突然接到测试同事反馈Android5.0以下手机上,App测试服使用出现问题,出现SSL handshake aborted错误信息,但正式服正常.经查,普遍错误信息详情如下: SSL handshake aborted: ssl=0x78f08cd0: I/O error during system call, Connection reset by peer .... 复制代码 从错误信息上粗略看上去,SSL握手阶段出现问题,连…
自定义webview /** * 处理Android 5.0 5.1 webview 闪退 */ class MyWebView : WebView { companion object{ private fun getFixedContext(context: Context): Context { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && Build.VERSION.SDK_INT <= Bui…