重新启动android中的同步适配器

时间:2014-06-27 09:35:44

标签: android android-notifications android-syncadapter android-authenticator

我能够在手机中成功创建同步适配器,但我无法处理特定情况。

我的任务同步应用,需要获取任务的任务权限,或者适用于从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)现在,一旦用户完成认证部分,如何重新启动同步?此外,我注意到一些应用程序在同步图标旁边显示一个红色的感叹号图标,说“同步正在遇到问题,它很快就会回来”。一旦他们自动获得许可,他们将恢复并同步。

此处如何在用户验证权限后立即获得重新启动同步或恢复的通知

1 个答案:

答案 0 :(得分:0)

这是解决方案,

我们需要使用syncResult.stats.numAuthExceptions来告诉异常,它会自动抛出消息。 syncResult.delayUntil将等待并在经过时间后重新启动同步

How to show sync failed message