AndroidstartActivityForResultsandreturningtocallingapplicationsonexceptions
创始人
2024-10-10 19:01:13
0

在Android应用程序中,如果我们在某个活动(Activity)中使用startActivityForResult()方法启动了另一个活动,并且想要将结果返回给调用活动时,如果启动的活动在发生异常时退出,都将导致调用活动无法正常接收返回结果的问题。为了解决这个问题,我们可以在启动活动时,通过try-catch块捕获异常,并在发生异常时向调用活动发送一个状态码,以便在调用活动中处理这种异常情况。

下面是一个示例代码,通过try-catch块捕获异常并在发生异常时发送一个状态码来解决此问题:

在调用活动中,我们使用startActivityForResult()方法来启动目标活动,并指定一个请求码:

Intent intent = new Intent(this, TargetActivity.class);
startActivityForResult(intent, REQUEST_CODE);

在目标活动中,我们在处理异常时使用setResult()方法来设置返回结果,并在Activity的onDestroy()方法中将结果返回给调用活动:

try {
    // Perform some action that may cause an exception
} catch (Exception e) {
    setResult(RESULT_CANCELED);
    finish();
}

在调用活动中,我们需要重写onActivityResult()方法来处理返回结果和异常情况:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
            // Handle normal result
        } else if (resultCode == RESULT_CANCELED) {
            // Handle exception
        }
    }
}

通过这种方式,在发生异常时,目标活动会返回RESULT_CANCELED状态码给调用活动,调用活动就可以通过检查返回的状态码来处理异常情况了。

相关内容

热门资讯

一分钟辅助!wpk辅助,约局吧... 一分钟辅助!wpk辅助,约局吧德州可以透视吗,烘培教程(真的有挂)1、实时约局吧德州可以透视吗透视辅...
第9分钟辅助!pokemomo... 第9分钟辅助!pokemomo辅助软件,wepoker轻量版透视方法,大纲教程(有挂攻略)1)wep...
第9分钟辅助!wepokerp... 第9分钟辅助!wepokerplus辅助,pokemmo脚本辅助下载,妙招教程(真实有挂)该软件可以...
7分钟辅助!wepoker究竟... 7分钟辅助!wepoker究竟有没有透视,菠萝德普辅助器免费版在哪里,窍要教程(真实有挂)1、菠萝德...
六分钟辅助!hhpoker辅助... 六分钟辅助!hhpoker辅助软件下载,wpk辅助,妙招教程(有挂秘籍)运hhpoker辅助软件下载...
五分钟辅助!来玩app破解,a... 五分钟辅助!来玩app破解,aapoker ai插件,举措教程(有挂讲解)1、aapoker ai插...
8分钟辅助!菠萝辅助器免费版的... 8分钟辅助!菠萝辅助器免费版的特点,sohoo开挂辅助,讲义教程(有挂秘笈)菠萝辅助器免费版的特点透...
第三分钟辅助!wepoker有... 第三分钟辅助!wepoker有没有挂,wepoker私人局透视,手筋教程(有挂方略)1、操作简单,无...
第九分钟辅助!aapoker透... 第九分钟辅助!aapoker透视插件,菠萝辅助器免费版的特点,绝活教程(有挂技术)1、完成菠萝辅助器...
6分钟辅助!德州透视是真的假的... 6分钟辅助!德州透视是真的假的,wepoker辅助器是真的吗,举措教程(有挂分享)1、wepoker...