当您使用函数调用/启动活动时startActivityForResult
(在我的情况下,它是用于 Facebook 登录,LoginManager.getInstance().logInWithReadPermissions(this, PERMISSIONS);
是否有任何方法可以取消意图,因此onActivityResult
不会调用父活动。我想为我的父活动添加超时机制以防止长时间等待儿童活动的时间。(当 Facebook 被阻止/减速时,需要几分钟才能onActivityResult
被调用,所以我想通知用户可能超时的情况)
问问题
1701 次
3 回答
1
不,你不能取消它。但是,您可以跟踪您不再等待onActivityResult()
回调的事实,以便在调用该方法时,您会记住您不在乎并忽略它。
于 2017-02-06T17:04:40.420 回答
0
您可以setResult(TIMEOUT)
在完成活动之前检查结果onActivityResult
。
此外,最佳实践是在子活动中设置超时机制(您可以在意图中传递一些信息)。
于 2017-02-06T08:25:59.600 回答
0
我知道它有点旧,但我只是面临同样的问题,即startActivityForResult(Intent, REQUEST_CODE)启动的活动来自第 3 方,这意味着我无法手动完成它或在完成它之前设置结果.
但幸运的是android为此提供了一个活动方法,只需从启动第3方的父活动中调用它。
Activity.finishActivity(REQUEST_CODE)
REQUEST_CODE是您之前发送的强调文本的代码
于 2021-12-21T15:02:54.223 回答