簡體   English   中英

使用 Android 10 SDK 升級的后台應用程序無法訪問剪貼板

[英]Clipboard not accessible from background app with Android 10 SDK upgrade

用於在我的應用程序中工作的復制/粘貼功能。 但是,一旦我將我的應用程序 SDK 升級為目標 Android 10,它就無法獲得正確的數據。 例如。 如果我從 chrome 復制“Hello”,打開我的應用程序並粘貼它,Hello 就被粘貼了。 現在,如果我 go 到 chrome 而不殺死我的應用程序並復制“世界”,打開我的應用程序並粘貼,“你好”被粘貼。

Android 10: https://developer.android.com/about/versions/10/privacy/changes#clip

我的onPrimaryClipChanged()回調沒有在 Android 10 上觸發,我的應用程序也獲得了 SDK 升級。

有什么解決辦法嗎,請給個建議?

只有一個解決方案:請求許可android.permission.READ_LOGS然后使用logcatdumpsys命令獲取剪貼板。 此權限必須通過ADB授予。

正如您已經提到的,由於操作系統升級,您正面臨這個問題。 但是,您可以通過向 ADB 請求特殊權限來解決此問題。

可以按如下方式完成 -

  1. 在您的手機上啟用開發者模式
  2. 在您的個人計算機上安裝 ADB
  3. 手機連接個人電腦后開啟USB調試
  4. 在您的計算機上,在 ADB 解壓文件所在的文件夾中打開 cmd/終端,然后依次鍵入以下內容-
(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>是在開發代碼中定義的根 package 名稱。 它將類似於com.example.myapp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM