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…
Android Camera开发系列(上)--Camera的基本调用与实现拍照功能以及获取拍照图片加载大图片 最近也是在搞个破相机,兼容性那叫一个不忍直视啊,于是自己翻阅了一些基本的资料,自己实现了一个相机,虽然相机这东西,兼容性不敢恭维,但是用到的地方确实很多,所以今天,我们就一起来学习一下吧 参照Google API:http://developer.android.com/guide/topics/media/camera.html 一.Camera的启动方式 1.调用系统方式 2.自定义…
[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…
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…
异常如下 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…
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=&…
前言 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 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.0 (LOLLIPOP) 为用户和应用开发者提供了新功能.本文旨在介绍其中最值得关注的新 API. 如果您有已发布的应用,请务必看一看 Android 5.0 行为变更,了解您的应用应该考虑的变化.即使您不使用新的 API 或者确定新功能目标,这些行为变更仍可能会影响您的应用在 Android 5.0 设备上的表现. 如需详细了解新平台功能,请参阅 Android Lollipop 重要内容. 着手开发 要着手开发 Android 5.0 应用,您必须先获得 Android…
本节书摘来自异步社区<深入理解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系统的基础,被保存在根目录的各个文件夹…
开始开发 要构建 Android 5.0 版应用,您必须先下载 Android SDK,然后使用 SDK 管理器下载 Android 5.0 SDK 平台和系统映像. 更新您的目标 API 级别 要进一步针对运行 Android 5.0 的设备优化您的应用,请将 targetSdkVersion 设置为 "21",在 Android 5.0 系统映像上安装该应用并予以测试,然后将更改后的新版应用发布出去. 您既可以使用 5.0 API,也可以支持旧版本,方法是在代码中构建条件,确保先检…
适用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)截取客户端发送给服务器的请求,然后伪装成客户端与服务器进行通信:将服务器返回给客户端的…
转 android 4.0.4系统下实现apk的静默安装和启动 分类: Android 2013-02-14 14:13 1762人阅读 评论(10) 收藏 举报 最近在android 4.0.4系统下实现apk的静默安装和启动的功能,这里和大家分享一下,希望能有所帮助. 源码如下: import java.io.DataOutputStream; import java.io.File; import java.io.IOException; import java.io.OutputStre…
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个多月了.直到今天才定位出原因,之前一直怀疑是自己设备的问题…