Android 10+ 和 Android 13 的应用后台读取剪贴板问题

在 Android 10 开始, 除非是当前处于活动状态的输入程序, 否则无法读取系统的剪贴板活动. 于是大多数的剪贴板管理软件另辟蹊径开始读取 Logcat 来监控剪贴板活动(READ_LOGS), 但 Google 并不推荐第三方程序使用这个权限, 因为日志可能包含隐私信息.

时间来到了 Android 13, Google 对 READ_LOGS 又加入了 LogcatManager, 开始对读取 Logcat 的程序要求需要通过系统级别的弹窗来请求日志读取权限, 应用程序即使有了 READ_LOGS 权限, 还要用户手动二次确认, 并且这个弹窗只会在应用程序处于前台的时候运行 logcat 命令时才会弹出, 否则弹窗不会出现, 权限也会被默认拒绝. 除非使用 adb 或 root 运行 logcat.
这个变化再次影响到了与剪贴板和其他所有通过 Logcat 进行自动化的应用, 比如 Tasker, KDE Connect, 后台运行的终端模拟器中的任务等等. 部分程序也开始加入了使用 adb 或 root 运行 logcat 以期望继续自动化, 然而这就需要程序为了一个单一的特权命令请求完全的特权权限, 过高的权限又影响到整个系统环境的安全.

WARNING: If you update to Android 13 the "Logcat Entry" event will no longer be reliable and Clipboard Monitoring will not work : r/tasker
agnostic-apollo/XLogcatManager: Android app to improve LogcatManager added in Android 13 using Xposed hooks
Issues with Android 13 LogcatManagerService and READ_LOGS permission 243904932 - Visible to Public - Issue Tracker
How to sync clipboard in KDE Connect/Android 11? - Ask Ubuntu
446366 – No way to send clipboard from Android to a desktop, if the persistent indicator is disabled.
Add logs reading for sending clipboard on Android 10 (edc655da) · Commits · Network / KDE Connect Android · GitLab
Kr328/Riru-ClipboardWhitelist: A module of Riru/Zygisk. Allowing apps to access the clipboard in the background on Android 10.

#Android

via CXPLAY's Memos Manifest.permission  |  Android Developers
 
 
Back to Top