EN

loading
Android 小技巧 - 1

2026-10-13 核查:这份清单原写于 2014 年,主要面向 Android View 系统。多数 API 仍然有效;旧版 Html.fromHtml(String) 从 API 24 废弃,下面补充替代签名,并修正缓存目录、布局加载和动画反向播放的说明。

本文是一篇译文,这篇是这个系列的第一篇.讲述的是Android开发中遇到的一些好用的小技巧,或者一些实用的API,很多人都知道,但也有人不知道,记录下来,如果能帮助到大家,也是极好的.由于不是严格的博文,所以翻译也不那么严格,有些工具和类我也会经常用,所以我会根据自己的想法去写.有些地方作者并没有将这个工具的作用讲出来,我会补充上去.

Android Tools - Log2File

2026-10-13 更新:2014 年版本直接向外部存储根目录写文件,这种用法已过时。Android 10(API 29)引入分区存储,Android 11(API 30)对 targetSdk 30 及以上应用忽略 requestLegacyExternalStorage。下面改用应用内部目录,示例最低版本为 Android 4.4(API 19),不需要存储权限。Android 11 存储变化

Log2File 工具类用于 Android 程序把应用主动记录的日志写入文件,适合下面这些场景:

  1. 无法连接电脑进行调试,例如 USB 口被 OTG 设备占用。
  2. 日志不容易实时抓取。
  3. Bug 出现很随机,需要保留操作过程中的记录。
  4. 其他自己脑补。

它只保存传给 w() 的内容,不会自动读取系统 logcat;系统日志抓取仍使用 Logcat 工具。

0.说明

这篇文章最早发布在我的 CSDN 博客,后来迁移到这里。原 GitHub 源码地址在本次更新时返回 404,因此下面直接保留可阅读的替代实现。

Android Service:开发自己的通知中心(2):辅助性服务实战

2026-10-13 更新:本文记录的是 Android 4.3 之前通过无障碍事件观察通知的旧方案,这条通用通知中心实现路线已过时。Android 4.3(API 18)起提供专门的 NotificationListenerService,第 4 节补充 Android 7.0(API 24)及以上的最小监听示例。旧代码仅用于理解历史实现,不保证取得完整通知列表。

1.辅助性服务实战介绍

上一篇文章介绍了什么是 Accessibility 以及简单的使用,这一篇文章就来讲讲如何使用Accessibility服务来创建一个简单的Android通知中心。Android中通知中心是一个系统层面的服务,负责显示应用和系统发来的通知(Notification,比如USB插入、选择输入法、未接来电、截图、天气信息、新闻推送等等)。在android4.3之前,一般的第三方应用是无法获取Notification list的(在Android4.3之后,有了一个新的接口,NotificationListenerService.getActiveNotifications(),可以获取当前的Notification)。但是利用Accessibility服务可以监听到各种事件的特性,可以开发一个第三方的通知中心,实现与系统通知栏类似的功能。

Android:Ubuntu 下执行 Adb 命令找不到设备

这篇写于 2014 年,当时用的是 Nokia X 和旧版 Android SDK。2026-10-13 更新了 Ubuntu 24.04 LTS 下的 udev 和用户组配置;旧 SYSFS 规则、Upstart 重启方式已经不适用,adb_usb.ini 的办法留在文末作历史记录。

1.问题概述

最近开发Nokia项目,遇到的问题如下:

插入Nokia x后,电脑没有反应,即不识别,同事的windows也不识别,最后在谷歌上搜索了良久,才找到了解决方案,但是没有记录,后来又要给别人配置的时候,发现忘记怎么配置了。想想这也是一个具有通性的问题,还是记录下来,分享给大家。

2.问题解决方案

先在设备上开启 USB 调试,并使用支持数据传输的 USB 线。用 adb version 确认调用的 Platform-Tools 版本,再运行 adb devices -l 查看设备状态。

  • 列表为空:检查线缆、接口、USB 调试开关,以及主机是否枚举到设备。
  • no permissions:优先检查 Linux 的 udev 规则和当前用户组。
  • unauthorized:设备已经被发现,解锁设备并确认 RSA 调试授权弹窗。
  • offline:设备未正常响应 ADB;重新插拔或重启 ADB 后再观察。

USB 枚举、主机访问权限和设备授权是不同环节。具体连接与状态说明参见 ADB 文档和设备连接指南。

Android Service:开发自己的通知中心(1):辅助性服务介绍

1 辅助性服务介绍

2026-10-13 更新:本文原写于 2014 年,介绍 Android 4.0(API 14)起的无障碍服务配置。无障碍服务本身仍然有效,但用它实现通用通知中心的路线已过时;Android 4.3(API 18)起应使用专门的 NotificationListenerService。下文修正服务声明和示例,并补充 Android 13(API 33)的节点回收变化。

辅助性服务(现通常称无障碍服务)用于帮助残障用户或暂时无法正常操作设备的用户使用应用,例如将界面文本读出来,或者提供触觉反馈。这一节介绍如何创建服务、接收界面事件和查询节点信息。

AccessibilityService 由系统在用户授权后绑定,不能当作普通后台任务服务来启动。下面给出服务骨架和几个方法的写法;接进自己的应用时,还需要补上语音引擎、设置界面和应用资源。服务生命周期与配置