本文介绍了的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,意图intentResult){
开关(结果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,意图intentResult){
开关(要求code){
案例REQUEST_ code_B:
handleResult(结果code,intentResult);
}
}公共无效handleResult(INT结果code,意图intentResult){
开关(结果code){
案例RESULT_OK:
字符串scanResult = intentResult.getStringExtra(结果);
意图newintent =新的Intent();
newintent.putExtra(结果,scanResult);
的setResult(Activity.RESULT_OK,newintent);
完();
打破; 案例RESULT_CANCELED:
打破;
}
解决方案
从文档:
这篇关于的onActivityResult不会被调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!