设置超时并完成ActivityforResult活动

时间:2018-07-03 16:26:31

标签: android android-activity onactivityresult

我想知道是否有某种方法可以为通过startActivityForResult启动的Intent设置超时,因此当时间过去时,可以对上述Intent进行一些操作(在我的情况下,可以完成此操作)。

似乎没有直接将超时直接设置为Intent的任何直接方法,但这似乎没有太多担心,因为我想我可以在onFinish()中创建一个CountDownTimer来调用代码以完成意图。

问题是我看不到完成该ActivityForResult的方法。

有什么办法吗?

1 个答案:

答案 0 :(得分:2)

嗯,我终于解决了这个问题,确实不是很困难。

对于我的特殊情况INTENT_PICK,以下代码在2分钟后有效,可以停止活动:

final int RQS_PICKCONTACT = 1;

[...]
Intent intentPickContact = new Intent(Intent.ACTION_PICK, uriContact);

                        startActivityForResult(intentPickContact, RQS_PICKCONTACT);

                        mcd = new CountDownTimer(120000, 10000) {

                            public void onTick(long millisUntilFinished) {

                            }

                            public void onFinish() {
                                try
                                {
                                    finishActivity(RQS_PICKCONTACT);

                                }
                                catch (Exception ex)
                                {

                                }
                            }

                        }.start();