如何取消从startActivityForResult调用的Intent

时间:2017-02-06 07:37:35

标签: android android-intent startactivityforresult

使用startActivityForResult函数调用/启动活动时(在我的情况下,使用LoginManager.getInstance().logInWithReadPermissions(this, PERMISSIONS);进行Facebook登录是否有任何方法可以取消意图,因此父活动onActivityResult不会我希望为我的父活动添加一个超时机制,以防止子活动等待时间过长。(当Facebook被阻止/放慢时,它需要几分钟才能调用onActivityResult,所以我想通知用户关于可能超时的情况)

2 个答案:

答案 0 :(得分:1)

不,你不能取消它。但是,您可以跟踪一个事实,即您不再等待onActivityResult()回调,这样当该方法被调用时,您会记住您不关心并忽略它

答案 1 :(得分:0)

您可以在完成活动之前setResult(TIMEOUT)并在onActivityResult中查看结果。

此外,最佳做法是在您的子活动中设置超时机制(您可以在意图中传递一些信息)。