【问题标题】:Android M app update and Permission for a Sync Adapter同步适配器的 Android M 应用更新和权限
【发布时间】:2015-11-13 16:14:25
【问题描述】:

我有一个应用程序使用 AbstractThreadedSyncAdapter 来同步日历。 我们正在为 android M 构建一个版本。我的日历权限请求在所有情况下都有效,除非用户已经进行了同步设置,然后将我们的应用从非 android M 版本升级到新的 M 版本。

A] 我可以在用户升级后第一次打开应用程序时检查权限,但他可能会在几周内不打开应用程序,在此期间他的日历不会同步。

B] 我正朝着以下选项前进:后台同步服务将启动一项活动,该活动显示解释为什么我们现在需要日历权限,因为升级到 M。

我的问题是: B] 是最好的选择吗?

【问题讨论】:

  • 请注意,从目标
  • 谢谢。你有那个来源吗?我问的原因是在 23 岁之前,据我所知,没有“接受许可”的概念,所以我什至不确定这在技术上是如何实现的。如果自动授予先前的版本,您的意思是清单中的任何内容吗?
  • 正确。使用安装时权限(即,针对
  • 刚刚测试了一个更新,你是对的!如果您将此作为单独的答案,我会将其标记为已接受的答案
  • 您仍需要管理用户已设置同步但随后通过“设置”应用手动禁用日历权限的情况。在这些情况下,CommonsWare 已经接受的答案是正确的解决方案,也涵盖了您最初的担忧。只需额外的知识即可解决您的问题!

标签: android calendar android-permissions android-6.0-marshmallow android-syncadapter


【解决方案1】:

B] 是最好的选择吗?

恕我直言,不。提出Notification,提醒用户需要授予权限。当用户点击Notification 时,然后通过requestPermissions() 并询问用户您需要的权限。如果用户忽略了Notification,请定期(例如,每天一次)用新的Notification 提醒他们。

这实现了您的目标,即在您决定需要此权限时提醒用户注意问题,而不会干扰他们正在做的任何事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 2019-08-15
    • 2017-08-09
    • 1970-01-01
    • 2013-11-24
    相关资源
    最近更新 更多