
Android
_晴少_
快乐是一种选择
展开
-
Android外部存储空间及动态权限授予原理
外部存储空间 在Android的世界中,应用程序可以使用的文件存储区域包括两个:内部存储空间、外部存储空间。这两个名称是在Android早期确定的,那时候大部分设备都提供内置的非易失性存储(内部存储空间)以及可移动的存储媒介,例如Micro SD卡(外部存储空间)。现在,很多设备将永久性存储空间划分为单独的“内部”和“外部”分区。因此,即使没有可移动存储媒介,这两种存储空间也始终存在,并且无论外部存储空间是否可移动,这两种存储空间的 API 行为都是相同的。 在目前的Adnroi...原创 2020-09-01 11:38:00 · 5112 阅读 · 2 评论 -
Android 程序读写Office文件
Office文档是以二进制格式存储的,对于它的读写不能像普通文本一样通过File来操作,如果以二进制格式读取到内存中,我们也是不能够正确解析其中的内容的,在Windows开发中、或者使用QT开发中,我们可以使用库提供的控件或者API来操作Office文档,但是在Android系统开发中,Android本身并没有提供这样的一套API。所以我们需要借用开源的一些库,本文根据项目中的使用...原创 2020-05-02 17:36:44 · 824 阅读 · 0 评论 -
Android资源管理框架
简介 Android系统运行在全球各个地区各种各样的设备上,为了在不同设备、不同国家不同地区的设备上都保持良好的用户体验,必须针对不同的设备不同语言等等差异做资源适配。为了帮助开发者承担绝大多数的工作,给开发者一个友好的开发模型,Android系统提供了一套统一的资源管理框架。从实现的层面讲,Android的资源管理框架和AMS、Zygote、PMS、ActivityThread...原创 2020-03-25 22:44:55 · 681 阅读 · 0 评论 -
Power Supply 文件节点和电池服务属性对照
背景 Android 电池服务是基于Android Linux的Power Supply驱动实现的,Power Supply驱动将电池各种状态属性值在发生改变时写入到sysfs文件系统下目录节点上,提供给用户空间程序访问,并上报uevent事件,通知用户空间程序读取电池状态变化结果。写本文档的目的主要是理清Android电池服务关心的重要属性在sysfs文件系统中的对应关系,方便...原创 2020-02-11 20:35:06 · 5357 阅读 · 1 评论 -
Android系统添加Feature方法
介绍 应用程序或者系统框架中可以通过getPackageManager().hasSystemFeature(String string)判断系统是否支持特定的模块功能,而运行不同的代码逻辑分支。比如可以通过getPackageManager().hasSystemFeature("android.hardware.bluetooth")判断系统是否支持蓝牙。当我们定制系统的时候...原创 2019-07-25 21:26:37 · 7176 阅读 · 0 评论 -
Android多用户适配
构建可感知多用户的应用对于支持多用户的设备,设备上的应用在必要时需要感知不同的用户。某些应用需要将一些组件(服务)作为单例运行,并且可以接受来自任意用户的请求。android系统目前仅支持系统应用使用此功能。系统应用这样做的优势在于:节约资源、判定各个用户之间的一个或多个共享资源、通过使用单个服务器减少网络开销。多用户权限模型:构建可感知多用户相关主题:a) 启用单...原创 2019-07-13 11:35:28 · 4286 阅读 · 0 评论 -
SettingsProvider源码分析(Android 9.0)
简介 SettingsProvider由Android系统框架提供,包含全局、系统级别的用户偏好设置,系统中的setting应用和它存在十分紧密的关系。SettingsProvider作为一个系统apk,随框架一起编译,在目录树种的位置:"frameworks\base\packages\SettingsProvider"。为了方便使用,系统对SettingsProvide...原创 2019-07-13 11:29:35 · 3500 阅读 · 2 评论