首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android 10 SDK升级后,无法从后台应用程序访问剪贴板

Android 10 SDK升级后,无法从后台应用程序访问剪贴板
EN

Stack Overflow用户
提问于 2019-11-06 18:11:39
回答 2查看 3.2K关注 0票数 5

复制/粘贴功能曾经在我的应用程序中起作用。但是,一旦我升级了我的应用软件开发工具包,以Android 10为目标,它就无法获得正确的数据。例如:如果我从chrome复制" Hello“,打开我的应用程序并粘贴它,Hello就会被粘贴。现在,如果我在没有杀死我的应用程序的情况下进入chrome,复制"World",打开我的应用程序并粘贴,"Hello“就会被粘贴。

在Android10中有一些与隐私相关的变化:https://developer.android.com/about/versions/10/privacy/changes#clipboard-data

我的onPrimaryClipChanged()回调在Android10上没有触发,我的应用程序也升级了SDK。

对此有什么解决方案,请提个建议?

EN

回答 2

Stack Overflow用户

发布于 2019-11-07 13:56:41

只有一个解决方案:请求权限android.permission.READ_LOGS,然后使用logcatdumpsys命令获取剪贴板。此权限必须通过ADB授予。

票数 1
EN

Stack Overflow用户

发布于 2020-01-09 01:35:37

正如您已经提到的,由于操作系统升级,您正面临此问题。但是,您可以通过向ADB请求特殊权限来解决此问题。

它可以按如下方式完成:

在您的电话上启用开发人员模式

  • 在您的personal computer

  • Enable

  • 上安装ADB在将您的电话连接到您的个人计算机

  • 之后,打开ADB解压文件所在的文件夹中的cmd/

,然后依次键入以下内容-

代码语言:javascript
运行
复制
(on windows)
adb -d shell appops set <package name> SYSTEM_ALERT_WINDOW allow

adb shell pm grant <package name> android.permission.WRITE_SECURE_SETTINGS

adb shell pm grant <package name> android.permission.READ_LOGS

adb shell am force-stop <package name>


(on mac)

./adb -d shell appops set <package name> SYSTEM_ALERT_WINDOW allow

./adb shell pm grant <package name> android.permission.WRITE_SECURE_SETTINGS

./adb shell pm grant <package name> android.permission.READ_LOGS

./adb shell am force-stop <package name>

<package name>是开发代码中定义的根包名称。它将类似于com.example.myapp

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58727690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档