我能够在手机中成功创建同步适配器,但我无法处理特定情况。
我的任务同步应用,需要获取任务的任务权限,或者适用于从Google服务器获取任何服务的权限。如果用户在未启动应用程序的情况下移至Google帐户,则会首次出现此情况。
1)转到设置 - >帐户和同步 - >选择一个Google帐户
2)存在任务同步内容提供商。
3)一旦我按下同步,因为同步提供商第一次无法访问任务或任何Google服务等帐户,它会引发userRecoverableException
4)在通知提供者的帮助下,我将在我的catch块中发出推送通知。
这里我是怎么做的,e是userRecoverableException intent。
PendingIntent pendingNotificationIntent = PendingIntent.getActivity(
mContext, constants.REQUEST_AUTHORIZATION, e.getIntent(),
PendingIntent.FLAG_UPDATE_CURRENT
| PendingIntent.FLAG_ONE_SHOT);
4)一旦用户点击通知,它将打开一个认证窗口,用户批准您的应用程序获取日历,联系人,任务等服务的权限。
5)现在,一旦用户完成认证部分,如何重新启动同步?此外,我注意到一些应用程序在同步图标旁边显示一个红色的感叹号图标,说“同步正在遇到问题,它很快就会回来”。一旦他们自动获得许可,他们将恢复并同步。
此处如何在用户验证权限后立即获得重新启动同步或恢复的通知
答案 0 :(得分:0)
这是解决方案,
我们需要使用syncResult.stats.numAuthExceptions来告诉异常,它会自动抛出消息。 syncResult.delayUntil将等待并在经过时间后重新启动同步