【问题标题】:Get users colour preference获取用户颜色偏好
【发布时间】:2023-03-22 23:28:01
【问题描述】:

我检查用户是否具有浅色/深色/暖色/冷色为主的壁纸颜色。并以此为用户提供良好的个性化体验。

但是,我正在将我的应用程序转换为免安装应用程序,并且我无法再检索壁纸(我猜是因为缺少 read_external_data 吗?)

是否有办法检索主要背景颜色? 或者另一种方法来检查用户的颜色偏好是什么? (是否可以获取主屏幕中状态栏的颜色之类的?)

【问题讨论】:

  • 你必须使用 READ_EXTERNAL_STORAGE 来获取壁纸吗?我看到了stackoverflow.com/questions/9939329/get-current-wallpaper,但我最初的测试表明它仅限于 O+。您还尝试了哪些其他方法? pre-O 和 O+ 的行为可能不同;如果是,你可以向谷歌举报,看看是否有意@issuetracker.google.com/issues/…
  • 您可以尝试查看此SO question。该线程链接了不同的其他 SO 问题。您或许可以找到适合您需求的产品。
  • 两种建议都是获得主要颜色的好方法。我在 android 8.0 版本上测试了即时应用程序,但出现权限错误。根据stackoverflow.com/q/47995463/8462016,我可能会在 8.1 上得到不同的结果。

标签: android metadata android-instant-apps


【解决方案1】:

您无法检索壁纸,因为“READ_EXTERNAL_STORAGE”权限不适用于免安装应用。

为了让您的 app bundle 即时兼容,它只能使用以下列表中的权限:

  • ACCESS_COARSE_LOCATION

  • ACCESS_FINE_LOCATION

  • ACCESS_NETWORK_STATE

  • BILLING – 自 Play Billing Library 1.0 起已弃用。

  • 相机

  • INSTANT_APP_FOREGROUND_SERVICE – 仅适用于 Android 8.0(API 级别 26)及更高版本。

  • 互联网

  • READ_PHONE_NUMBERS – 仅适用于 Android 8.0(API 级别 26)及更高版本。

  • RECORD_AUDIO

  • 振动

https://developer.android.com/topic/google-play-instant/getting-started/instant-enabled-app-bundle#check-permissions

来源:Google 的即时应用常见问题解答(在https://developer.android.com/topic/google-play-instant/faqs 中查看更多信息)

来自这个遮阳篷的@gbaccetta:https://stackoverflow.com/a/44803286/10697279

来自这个遮阳篷的@adamk:https://stackoverflow.com/a/44360685/10697279

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-20
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-23
    • 1970-01-01
    相关资源
    最近更新 更多