本文介绍了的onActivityResult不会被调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个独立的应用程序。应用程序A和B.应用我要开始从应用程序中的应用程序B的活性,并得到返回结果。在应用程序B还有一个活动。从B秒acitivty我得到结果B的第一项活动。现在,我希望这些结果返回给应用程序A.但在的onActivityResult一个永远不会被调用。以下是code。

应用答:

 公共无效onClickBtnToApplicationB(视图v){
        尝试{
            最终意向意图=新意图(Intent.ACTION_MAIN,NULL);
            最终的组件名CN =新的组件名(pakacagename,package.class);
            intent.setComponent(CN);
            intent.setAction(Intent.ACTION_MAIN);
            intent.addCategory(Intent.CATEGORY_LAUNCHER);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivityForResult(意向,REQUEST_ code);
        }赶上(ActivityNotFoundException E){
        //处理异常
        }
    }    公共无效的onActivityResult(INT申请code,INT结果code,意图意图){
        开关(要求code){
            案例REQUEST_ code:
               handleResult(结果code,意向);
               打破;
        }
    }    公共无效handleResult(INT结果code,意图int​​entResult){
        开关(结果code){
            案例RESULT_OK:
                字符串结果= intentResult.getStringExtra(结果);
                //我需要从应用程序B在这里结果..
                打破;             案例RESULT_CANCELED:
                打破;
        }
      }

应用B活动1.class:

 意图S =新意图(1,本,2.class);
startActivityForResult(S,REQUEST_ code_B);
保护无效的onActivityResult(INT申请code,INT结果code,意图int​​entResult){
    开关(要求code){
        案例REQUEST_ code_B:
            handleResult(结果code,intentResult);
    }
}公共无效handleResult(INT结果code,意图int​​entResult){
    开关(结果code){
    案例RESULT_OK:
        字符串scanResult = intentResult.getStringExtra(结果);
        意图newintent =新的Intent();
        newintent.putExtra(结果,scanResult);
        的setResult(Activity.RESULT_OK,newintent);
        完();
        打破;    案例RESULT_CANCELED:
        打破;
}


解决方案

从文档:

这篇关于的onActivityResult不会被调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-17 18:08