<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[aaajj的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aaajj</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aaajj]]></copyright><item><title><![CDATA[Android Device Owner设备所有者大权限功能]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/169652595</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/169652595</guid><author>aaajj</author><pubDate>Sat, 31 Oct 2026 21:44:22 +0800</pubDate><description><![CDATA[Device Owner（设备所有者）是 Android 系统中最高级别的设备管理权限，一个设备同一时间只能有一个，拥有对整台设备的全局控制权。Device Admin（设备管理员）：应用级权限，用户可手动激活/取消，Android 9.0 起已弃用，Android 10.0 起停止支持企业场景。Device Owner（设备所有者）：管理整台设备，权限最高，适合企业自有设备（COBO/COPE）。系统界面控制：禁用状态栏、系统设置、最近任务键、截屏、安全启动等。]]></description><category></category></item><item><title><![CDATA[Android手机连接鼠标情况]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/166740168</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/166740168</guid><author>aaajj</author><pubDate>Sun, 27 Sep 2026 20:57:56 +0800</pubDate><description><![CDATA[Android 手机通过 OTG 或蓝牙通道接收鼠标遵循 HID 协议发送的输入数据，系统底层的输入子系统将其解析并转化为标准的触摸/点击事件，从而实现对手机的鼠标操控。整个过程不需要额外驱动，因为 HID 是 Android 系统原生支持的标准协议。]]></description><category></category></item><item><title><![CDATA[关于MODIFY_PHONE_STATE权限]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/164002160</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/164002160</guid><author>aaajj</author><pubDate>Sun, 23 Aug 2026 20:39:34 +0800</pubDate><description><![CDATA[普通应用声明。]]></description><category></category></item><item><title><![CDATA[【Android】获取设备音频]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/163220193</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/163220193</guid><author>aaajj</author><pubDate>Sun, 26 Jul 2026 20:32:16 +0800</pubDate><description><![CDATA[HAL 层 Dump：对于更底层的调试，可以通过设置特定的系统属性（如高通平台的 persist.vendor.audio.dump_data.in）让 HAL 层在写入数据时将 buffer 保存为 PCM 文件1。在 Android 中获取音频数据，主要取决于你需要获取的是麦克风采集的音频（如人声、环境音），还是系统内部播放的音频（如音乐、视频声音，即系统内录）。这是最常见的需求，通过 Android 提供的 AudioRecord 类，可以从硬件麦克风获取原始的 PCM 数据24。]]></description><category></category></item><item><title><![CDATA[[Android]appops]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/162397888</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/162397888</guid><author>aaajj</author><pubDate>Sun, 28 Jun 2026 21:23:17 +0800</pubDate><description><![CDATA[总结：在您开发自动接听与语音回复 App 时，如果发现应用在后台无法调用麦克风或播放音频，除了检查常规权限外，强烈建议使用 dumpsys appops 检查应用是否被系统的 AppOps 机制静默拦截（MODE_IGNORED），并利用 appops set 命令进行调试。访问记录（Access）：展示具体应用在什么时间（如 2023-11-14 11:33:19）、以何种状态（前台 top-s）调用了某项权限，以及调用的持续时长（duration）。AppOps：是对“已授权权限”的二次运行时拦截。]]></description><category></category></item><item><title><![CDATA[【Android】手机屏幕劫持防护]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/161571815</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/161571815</guid><author>aaajj</author><pubDate>Sun, 31 May 2026 21:13:59 +0800</pubDate><description><![CDATA[摘要： Android系统中点击屏幕无反应通常由恶意软件利用系统漏洞或权限进行“屏幕劫持”导致，常见攻击方式包括： 透明覆盖层攻击：恶意应用通过SYSTEM_ALERT_WINDOW权限创建透明视图覆盖正常界面，拦截点击事件。 动画欺骗攻击：利用极低透明度的动画隐藏敏感界面，实际拦截用户操作。 活动三明治攻击：恶意应用通过叠加透明Activity阻断用户与正常界面的交互。 系统级输入链路截断：底层组件错误拦截或标记触摸事件为已消耗，导致事件丢失。 防御措施： 仅从官方渠道下载应用，严格管理权限（如悬浮窗、无]]></description><category></category></item><item><title><![CDATA[【Android】防骚扰电话自动接听助手方案]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/160533628</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/160533628</guid><author>aaajj</author><pubDate>Sun, 26 Apr 2026 21:29:55 +0800</pubDate><description><![CDATA[【150字摘要】针对骚扰电话问题，目前主流解决方案包括：1）手机自带AI功能（华为/小米/三星等），可自动拦截并智能应答骚扰电话；2）运营商云端服务（如电信天翼通信助理），通过AI前置过滤来电；3）第三方App（如小象来电、铃智铃），支持声音克隆等高级功能。建议优先使用手机内置防骚扰功能，次选运营商服务，顽固骚扰可尝试声音克隆技术实现智能拦截。不同方案均能有效减少骚扰电话的打扰。]]></description><category></category></item><item><title><![CDATA[【Android】appops学习]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/159087853</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/159087853</guid><author>aaajj</author><pubDate>Sun, 15 Mar 2026 21:07:49 +0800</pubDate><description><![CDATA[Android 中的 AppOps（Application Operations） 是一套细粒度运行时权限控制机制，用于在传统 Android 权限模型之上提供更精细、动态的隐私与安全管控。⚠️ 注意：普通应用不能调用 setMode() 修改 OP_RECORD_AUDIO 等敏感操作！传统权限（Permission）：决定“能否安装/请求某能力”（如 RECORD_AUDIO）华为    “禁止自启动”    控制 OP_RUN_IN_BACKGROUND。]]></description><category></category></item><item><title><![CDATA[【Android】手机蜘蛛魔术的简易app例子]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/158102766</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/158102766</guid><author>aaajj</author><pubDate>Sun, 15 Feb 2026 22:15:05 +0800</pubDate><description><![CDATA[手机画面内容结合魔术手法在魔术表演中可以达到一种很强的视觉场景冲击，比如手机里的蜘蛛爬出来的魔术，这里做一个简易的app，首先找到蜘蛛的png图片，多做几张可以实现更好的爬动效果，这里用一张来试验，把图片中的白色背景转换为透明颜色，]]></description><category></category></item><item><title><![CDATA[【Android】声控拍照例子]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/157103505</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/157103505</guid><author>aaajj</author><pubDate>Sun, 18 Jan 2026 21:54:59 +0800</pubDate><description><![CDATA[让AI写一个简单的声控拍照app，用来实现快速拍照，比如要逮那些乱跑的车辆，最初步的是通过音量来触发拍照，复杂一点可以加入语音内容识别，这里从最初步的来试验。以下是/dev/null。]]></description><category></category></item><item><title><![CDATA[【Android】关于MY_PACKAGE_REPLACED广播]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/155917922</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/155917922</guid><author>aaajj</author><pubDate>Sun, 14 Dec 2025 21:05:00 +0800</pubDate><description><![CDATA[建议说明使用静态注册确保不丢失首次更新广播避免耗时操作广播在主线程，用Handler或延迟处理不要启动 Activity改用通知或下次启动时检测版本结合版本号判断在 SharedPreferences 中记录上次版本，避免重复执行测试覆盖安装流程确保升级逻辑可靠是监听自身应用更新的最安全、最可靠方式无需权限，Android 8.0+ 仍支持静态注册适用于：数据迁移、缓存清理、配置重置、更新提示等场景记住：它只在“覆盖安装”时触发，首次安装不会收到。]]></description><category></category></item><item><title><![CDATA[android contentprovider及其查看]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/154616130</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/154616130</guid><author>aaajj</author><pubDate>Sun, 09 Nov 2025 19:17:15 +0800</pubDate><description><![CDATA[它通过 URI（如 content://com.example.app.provider/data） 被其他应用访问，由系统自动管理其生命周期。查看某包的 Provider    adb shell dumpsys activity providers com.your.package。authority    Provider 的唯一标识（如 com.example.app.provider）🔄 五、dumpsys activity providers vs dumpsys package。]]></description><category></category></item><item><title><![CDATA[公共交通安全再讨论]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/153591717</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/153591717</guid><author>aaajj</author><pubDate>Sun, 19 Oct 2025 22:01:07 +0800</pubDate><description><![CDATA[近期又发生了很多汽车撞击行人的事故，很令人痛心，在公共交通上，应该做到更好的防护，对违法违规车辆，要做到及时的制裁，让违反者承担撞击。在公共交通中，特别是斑马线区域，利用智能安全桩及其他技术手段保护行人、制裁危险驾驶车辆的综合解决方案。]]></description><category></category></item><item><title><![CDATA[关于android.permission.CAPTURE_AUDIO_OUTPUT]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/151683892</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/151683892</guid><author>aaajj</author><pubDate>Sun, 14 Sep 2025 15:57:38 +0800</pubDate><description><![CDATA[xml深色版本作用：允许应用捕获设备上所有应用播放的音频输出（即“内录”功能）。别名：也称为“”或“目标：实现类似“屏幕录制时录下系统声音”或“音频混音器”功能。项目内容权限名称作用捕获设备音频输出（内录）权限级别signature（系统级）普通应用可用？❌ 不可用合法用途系统录屏、企业设备管理替代方案（录屏 API）风险高隐私风险，易被下架相关资料。]]></description><category></category></item><item><title><![CDATA[【Android】从一个AndroidRuntime看类的加载]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/150720106</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/150720106</guid><author>aaajj</author><pubDate>Sun, 24 Aug 2025 21:49:51 +0800</pubDate><description><![CDATA[问题解释“系统 JAR 覆盖 App JAR”？❌ 不准确实际机制是什么？✅ 系统类加载器优先加载系统类，应用无法重新定义系统类为什么？安全、稳定、兼容性能否替换系统类？❌ 普通应用不能第三方库会冲突吗？⚠️ 一般不会，除非系统预装了同名库✅Android 中并不存在“系统 JAR 覆盖 App JAR”的文件级覆盖，而是类加载机制决定了系统类优先于应用类加载。应用不能重新定义android.*等系统命名空间下的类，这是 Android 安全架构的一部分。]]></description><category></category></item><item><title><![CDATA[Android 蓝牙学习]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/149672137</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/149672137</guid><author>aaajj</author><pubDate>Sat, 26 Jul 2025 21:07:19 +0800</pubDate><description><![CDATA[是一个重要的隐私保护特性，允许开发者更加透明地向用户展示他们如何使用蓝牙权限。这对于那些确实不需要位置信息的应用程序来说是一个很好的工具，可以帮助减少不必要的权限请求，并提升用户对应用的信任度。然而，开发者应确保遵守这一声明的实际含义，在应用逻辑中避免使用蓝牙扫描结果进行任何形式的位置跟踪。【android bluetooth 协议分析 03】【蓝牙扫描详解 2】【app触发蓝牙扫描后,协议栈都做了那些事情】_android 经典蓝牙扫描流程源码分析-优快云博客。]]></description><category></category></item><item><title><![CDATA[[Android]ANR的线程]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/149003635</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/149003635</guid><author>aaajj</author><pubDate>Sun, 29 Jun 2025 21:19:05 +0800</pubDate><description><![CDATA[ANR监控机制是通过超时提醒实现的：在执行任务时注册超时提醒，任务完成则取消提醒，否则触发超时处理。关键点在于超时监控需在独立线程完成。以广播ANR为例，BroadcastQueue.java中的processNextBroadcastLocked方法会调用broadcastTimeoutLocked进行超时埋雷，而实际超时处理是通过Handler机制在AMS创建的ServiceThread线程中异步执行的。具体实现是AMS启动了一个ServiceThread，其Looper创建了MainHandler来处]]></description><category></category></item><item><title><![CDATA[【Android】am命令]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/148832549</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/148832549</guid><author>aaajj</author><pubDate>Sun, 22 Jun 2025 20:55:25 +0800</pubDate><description><![CDATA[am（Activity Manager）命令是 Android 提供的一个强大的 shell 工具，用于与系统的服务进行交互，主要用来启动活动(Activity)、服务(Service)，发送广播(Broadcast)，以及执行其他与应用组件相关的操作。要使用 am 命令，你需要通过 adb shell 连接到你的 Android 设备或模拟器，或者在设备上具有 root 权限的终端环境中运行这些命令。在使用 am 命令进行调试时，请注意不要中断正在运行的应用程序的正常流程，以免造成不稳定的状态。]]></description><category></category></item><item><title><![CDATA[【Android】cmd命令]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/147878876</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/147878876</guid><author>aaajj</author><pubDate>Sun, 11 May 2025 21:00:46 +0800</pubDate><description><![CDATA[Android中cmd命令可以用来向binder服务发送命令，来进行相关调试，<service>：指定要调用的 Android 系统服务。[options]：根据具体命令可能需要提供的参数或选项。其实现原理是调用binder服务的command接口。常用的settings命令，就是使用的cmd命令，1. 包管理器（Package Manager）<command>：对该服务执行的具体命令。4. 输入法（Input Method）2. 电源管理（Power）与设备电源状态相关的命令。管理输入法相关设置。]]></description><category></category></item><item><title><![CDATA[【Android】app调用wallpaperManager.setBitmap的隐藏权限]]></title><link>https://blog.youkuaiyun.com/aaajj/article/details/147543539</link><guid>https://blog.youkuaiyun.com/aaajj/article/details/147543539</guid><author>aaajj</author><pubDate>Sat, 26 Apr 2025 22:14:54 +0800</pubDate><description><![CDATA[其原理是从系统中获取到壁纸文件如/data/system/users/0/wallpaper的fd，然后往里面写数据，这是一个杞人忧天的问题，app中，可以通过wallpaperManager.setBitmap来设置壁纸，直接在adb shell里访问/data/system/users/0 是没有权限的，难道是有地方赋权了？app写这个fd为什么没有出现权限问题呢，应该是有赋权，但还是引起了我们的好奇，去找找看。等等，根据以往的经验，进程访问app的fd会出现selinux问题，]]></description><category></category></item></channel></rss>