我已经实现了Github Gauges或Github Android Client
行的自定义AccountManager更具体地说,我正在实施:
accountManagerFuture.getResult()
当调用accountManagerFuture.getResult()时,我的LoginActivity就像应该启动一样。然而,当按下后退按钮时,我没有得到应该的OperationException(在GitHub Gauges项目上它似乎正在工作)
任何人都知道如何开始调试它?
答案 0 :(得分:2)
“accountManagerFuture.getResult()
何时被称为”是什么意思?按下后退按钮后是否保留对未来的引用,然后在某个时刻调用getResult()
?因为只有在取消操作后显式调用此方法时才会调用OperationCanceledException
。
了解事件流是开始调试问题的好地方。按下后退按钮时调用onBackPressed()
;然后,onBackPressed()
将调用finish()
,并根据AccountAuthenticatorActivity
类的源代码,覆盖finish()
方法将发送最终取消该任务的信号。这有助于您入门吗?
另请注意,按下后退按钮时,只有在操作仍在运行时才会取消操作。如果操作已经完成,则不会抛出任何异常(因为框架没有任何当前活动的操作要取消)。换句话说,按下后退按钮时可能不会出现异常 ...这一切都取决于操作是否已经完成。
如果您仍然遇到问题,我会考虑在原始问题中添加一些代码,否则我们将很难再帮您解决问题。 :)