android - 设置超时并完成 ActivityforResult Activity

标签 android android-activity onactivityresult

我想知道是否有某种方法可以为通过 startActivityForResult 启动的 Intent 设置超时,这样当时间过去时,可以使用上述 Intent 的 Activity 执行某些操作(在我的例子中是完成它)。

似乎没有任何直接的方法可以直接为 Intent 设置超时,但这看起来没什么好担心的,因为我想我可以创建一个 CountDownTimer,它在 onFinish() 中会调用完成 Intent 的代码。

问题是我没有找到完成 ActivityForResult 的方法。

有什么办法吗?

最佳答案

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

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

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();

关于android - 设置超时并完成 ActivityforResult Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51159229/

相关文章:

Android P onStart 在 onActivityResult 之前调用

android - Delphi、Android、SSL - IdSMTP ConnectTimeout - 在预设超时后不会终止与服务器的连接

android - Xamarin Studio 2 - 最新的稳定更新 - 执行任务 Aapt : The source sequence is empty 时出错

android - com.android.tools.build:gradle:2.1.0及更高版本在构建时出错

android - 如何在我的 Android 应用程序中启动 android 应用程序?

android - 如何用 ActivityResultLauncher 替换 startActivityForResult 但仍然包含选项 Bundle?

java - Android打开失败: EACCES (Permission denied)

Android Activity 垃圾收集

java - 如何从主 Activity 调用 fragment 方法

java - 将多个对象传递给另一个 Activity