Android M 应用程序更新和同步适配器的权限

Android M app update and Permission for a Sync Adapter

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

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

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

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

Is B] the best option ?

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

提醒他们

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