Android 6.0 扫描不到 Ble 设备需开启位置权限 之前做 Ble 开发都是在 Android 6.0 系统以下的版本中进行测试的,今天使用 Android 6.0 的设备测试的时候,发现扫描不到周围的 Ble 设备.后来发现 6.0 需要在应用运行过程中请求位置权限,并且还要打开位置. 动态申请位置权限 ACCESS_COARSE_LOCATION 在 AndroidManifest.xml 文件中加入 <uses-permission android:name="androi…
默认关闭定位和GPS 修改位置 frameworks/base/packages/SettingsProvider/res/values/defaults.xml <string name="def_location_providers_allowed" translatable="false">network,gps</string> 修改为 <string name="def_location_providers_allo…
运行时权限 这个版本中引入了新的权限模型,现在用户可以在运行时直接管理应用程序的权限.这个模型基于用户对权限控制的更多可见性,同时为应用程序的开发者提供更流畅的应用安装和自动升级.用户可以为已安装的每个应用程序独立的授予或者取消权限. 在运行于目标版本 Android 6.0 (API 级别 23) 及以上的应用程序中,必须在运行时检查并请求权限.通过新的 checkSelfPermission() 方法来确定你的应用程序是否已经被授权.通过新的 requestPermissions() 方法来…
原文链接:http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html 伴随着新特性和功能,Android 6.0 (API level 23) 还包含了一些系统以及API行为上的变化.本文着重指出了一些你(开发者)需要了解,并在开发应用时予以考虑的关键变化. 如果你之前发布过Android应用,那么请注意,平台的这些变化会影响到你的应用. 运行时权限(Runtime Permissions) 本…
Android 7.0 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更.本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更. 如果您之前发布过 Android 应用,请注意您的应用可能受到这些平台变化的影响. 电池和内存 Android 7.0 包括旨在延长设备电池寿命和减少 RAM 使用的系统行为变更.这些变更可能会影响您的应用访问系统资源,以及您的应用通过特定隐式 intent 与其他应用交互的方式. 低电耗模式 Android 6.0(API 级别 23)引入了…
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 7.0 Nougat 为用户和开发者引入多种新功能.本文重点介绍面向开发者的新功能. 请务必查阅 Android 7.0 行为变更以了解平台变更可能影响您的应用的领域. 要详细了解 Android 7.0 的消费者功能,请访问 www.android.com. 多窗口支持 在 Android 7.0 中,我们为该平台引入了一个新的而且非常需要的多任务处理功能 — 多窗口支持. 现在,用户可以一次在屏幕上打开两个应用. 在运行 Android 7.0 的手机和平板电脑上,用户可以并…
还望支持个人博客站:http://www.enjoytoday.cn 由于google目前不是无法直接在国内访问,故此,对于android 开发平台的7.0新特性做个保存.也可供大家查阅.原文转自android 开发者官网的:Android 7.0 行为变更 电池和内存 Android 7.0 包括旨在延长设备电池寿命和减少 RAM 使用的系统行为变更.这些变更可能会影响您的应用访问系统资源,以及您的应用通过特定隐式 intent 与其他应用交互的方式. 低电耗模式 Android 6.0(AP…
参考:http://blog.csdn.net/myarrow/article/details/7091061 1. TouchScreen功能在Android4.0下不工作 原来在Android2.3.5下能正常工作的TouchScreen功能,移植到Android 4.0就不能正常工作了.凭直觉,Android4.0肯定有鬼.真是不看不知道,一看吓一跳.在Android 4.0中,Event Input地位提高了,你看看,在Adroid2.3.5中,它在frameworks/base/lib…
android 6.0对于权限管理比较收紧,因此在适配android 6.0的时候就很有必要考虑一些权限管理的问题. 如果你没适配6.0的设备并且权限没给的话,就会出现类似如下的问题: java.lang.SecurityException: :com.chexiu.sales/u0a34} (pid=, uid=) with revoked permission android.permission.CALL_PHONE google官方权限分类: 如下为正常的权限: ACCESS_LOCAT…
Android 5.0 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更.本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更. 如果您之前发布过 Android 应用,请注意您的应用可能受到 Android 5.0 中这些变化的影响. 如需详细了解新平台功能,请参阅 Android Lollipop 重要内容. Android Runtime (ART) 在 Android 5.0 中,ART 运行时取代 Dalvik 成为平台默认设置.Android 4.4 中已引入…
android 8.0 对应的 sdk 版本  26 1. 通知栏 Android 8.0 引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的渠道.用户界面将通知渠道称之为通知类别. 针对 8.0 的应用,创建通知前需要创建渠道,创建通知时需要传入 channelId,否则通知将不会显示.示例代码如下: // 创建通知渠道 private void initNotificationChannel() { if (Build.VERSION.SDK_INT >= Build.VERS…
Android 6.0 动态权限: 除了要在AndroidManifest.xml中申请外,还需使用时,请求用户允许授权. 以下是需要单独申请的权限,共分为9组,每组只要有一个权限申请成功了,就默认整组权限都可以使用了. 如果将targetSdkVersion设置为>=23,则必须按照Android谷歌的要求,动态的申请权限,如果你暂时不打算支持动态权限申请,则targetSdkVersion最大只能设置为22. group:android.permission-group.CONTACTS p…
背景 个人开发过一种BLE设备有这样一种需求:当设备处于状态A时,广播设备名称A:处于状态B时,广播设备名称B. 问题 我们发现,当Android在进行Ble扫描的时候,扫描回调函数onScanResult中获取的设备名称并未随设备实时改变. 但是当使用nrfConnect进行扫描时,却发现设备广播名称确实是实时改变的. 原因 我们使用如下代码获取BLE设备名称,然而此时device.getName()中的名称是系统缓存的数据,而非实时的广播数据,要想获取实时的设备名称,必须自行解码实时广播数据…
Android从4.3(Api level 18)开始支持BLE的开发,本文记录了Android 4.4.2设备与BLE设备通讯的流程. 权限需求: <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 步骤:1.获取蓝牙服务Blu…
BluetoothKit是一款功能强大的Android蓝牙通信框架,支持低功耗蓝牙设备的连接通信.蓝牙广播扫描及Beacon解析. 关于该项目的详细文档请关注:https://github.com/dingjikerbo/BluetoothKit 对于刚接触Android蓝牙开发的初学者来说,会经常遇到一些奇怪的坑,我也是一路走过来的,将我遇到的一些坑总结了一下,这些坑在这个项目中都修复了,所以大家不必再费时费力去重复踩一遍.这个项目目前正在不断更新,有什么更好的建议大家可以随时提出来. 蓝牙扫…
博客原文地址:http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html,要想打开,请FQ. Android 5.0 SDK在上周五发布,它以新的UI控件.材料设计-我们专注于良好设计的可视化语言为特色.为了能够让你把最新的设计应用到之前的Android平台上,我们扩展了我们的支持包,包括具有较大更新的AppCompat,同样还有新的RecyclerView.CardView和…
1. 十大Material Design开源项目 2. appcompat v21: 让 Android 5.0 前的设备支持 Material Design 主题 AppCompat已经支持最新的调色板主题,该主题能够使你更容易的通过使用主色调和强调色(primary and accent colour)来适配你的主题.下面是一个简单的示例: values/themes.xml: <style name="Theme.MyTheme" parent="Theme.Ap…
在我们的APP开发中,通常需要获取到设备的唯一标识.在Android6.0之前,有很多方法我们可以方便获取到硬件的唯一标识,但是在Android6.0之后,Android系统大幅限制了我们获取设备的硬件信息. Android6.0之前的方法(已过时) DEVICE_ID 通getSystemService(Context.TELEPHONY_SERVICE).getDeviceId()获取,但是6.0之后必须申请READ_PHONE_STATE,并且获取到的这个值在不同的厂商和设备中并不可靠.…
原文网址:http://stackoverflow.com/questions/34617061/android-6-0-marsmallow-ble-connection-parameters The Bluetooth Low Energy connection parameters management seems to have changed in Android 6. I have a BLE Peripheral device who needs to use some speci…
由于iOS系统默认不会为自带的ANCS服务发送广播, 并且使用ANCS的通知订阅功能必须进行配对. 所以我们需要在ios上写自己的代码,让目标设备和iOS进行配对. 配对完成后,监听设备和iOS都可以随意关闭蓝牙. 再次打开蓝牙后,只需要监听设备根据地址再次发起链接,就可以链接iOS的GATTserver, 之后就可以监听iOS的ANCS的通知了,不需要重新配对,对于iOS用户来说,是透明的. 完成配对的方式有2种,下面用android模拟了监听设备分别做了实验: 1.目标设备作为Central…
所有关于Android 6.0 棉花糖的知识 上下文帮助 1.现在按压:不需要离开你正在运行的app或者访问的网站就可 获取帮助,仅仅触摸和按下Home按钮.(长按Home键,可以在 android 的桌面中层叠多个app,就是这样,很不错) 2.按照你的意愿你可以做的更多.现在你可以有一个对话框, 这个对话框是在app上面的可以支持新的声音交互服务.例如, 如果一个用户说"在Tuneln 上面播放声音",Tuneln会回复 给你并且发出声音"what genre?"…
Android Lollipop 面向开发人员的主要功能 Material Design 设计 注重性能 通知 以大屏幕呈现 以文档为中心 连接性能再上一级 高性能图形 音频处理功能更强 摄像头和视频处理进一步完好 Android 在办公中的应用 屏幕截图和共享 新型传感器 Chromium WebView 辅助功能和输入 构建低电耗应用 欢迎使用 Android 5.0 Lollipop,这是迄今为止规模最大最为雄心勃勃的 Android 版本号! 此版本号为用户推出了各种崭新的新功能,为开发…
Android 8.0 为用户和开发者引入多种新功能.本文重点介绍面向开发者的新功能. 用户体验 通知 在 Android 8.0 中,我们已重新设计通知,以便为管理通知行为和设置提供更轻松和更统一的方式.这些变更包括: 通知渠道:Android 8.0 引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的渠道.用户界面将通知渠道称之为通知类别.要了解如何实现通知渠道的信息,请参阅通知渠道指南. 通知标志:Android 8.0 引入了对在应用启动器图标上显示通知标志的支持.通知标志…
导读 增强的Doze模式 后台优化 Data Saver 一.增强的Doze模式 Android N对Android M引进的Doze模式进行了进一步的增强,变化体现在两个方面.一方面是降低了进入Doze模式的条件,Android M中的条件是不插电,屏幕熄灭且静置一段时间,在Android N中去掉了静置的条件,这个改变大大增加了设备进入Doze模式的机会,因而使得Doze对应用程序的影响大大增加.另一方面,Doze模式被分成了两个阶段,当设备切断电源,熄灭屏幕一段时间,会进入到第一阶段,切断…
Android 6.0 Changes In this document Runtime Permissions Doze and App Standby Apache HTTP Client Removal BoringSSL Access to Hardware Identifiers Notifications AudioManager Changes Text Selection Browser Bookmark Changes Android Keystore Changes Wi-F…
Android 6.0新特性 Runtime Permissions Doze and App Standby Apache HTTP Client Removal BoringSSL Access to Hardware Identifiers Notifications AudioManager Changes Text Selection Browser Bookmark Changes Android Keystore Changes Wi-Fi and Networking Chang…
对于研发和测试BLE来说,经常看到同名的设备,是极为不方便的,一大堆设备同时上电会让同事不知道哪一个设备才是自己真正想操作的目标.再说一下小米手环,家中有三支小米手环,打开设备搜索全是“MI”,都不知道连接哪一个,所以在开始使用的时候才要求用户去敲手环几下,当然这个体验也还算不错.但不管怎样,作为开发者,面对Office里一大堆的BLE设备,能够方便区分还是不错的.因此萌生让设备名称包含一个唯一的标识——MAC地址.比如笔者的电脑上显示这么多HXX,在调试时完全不知道该怎么选. 第一步先说如何更…
北京时间2018年8月7日上午,Google 发布了 Android 9.0 操作系统.并宣布系统版本 Android P 被正式命名为代号"Pie". Android 9.0 利用人工智能技术,让手机变得更智能.更快,并且还可以随着用户的使用习惯进行调整. 利用 Wi-Fi RTT 进行室内定位 Android 9 添加了对 IEEE 802.11mc Wi-Fi 协议(也称为 Wi-Fi Round-Trip-Time (RTT))的平台支持,从而让您的应用可以利用室内定位功能.…