android 调用第三方apk setResult回来intent为null

有2个程序互相调用,A程序通过发intent,使用startActivityForResult()方法, 调用B程序,B程序启动后做了一些自己的事,其中会切换很多activity 显示B自己的UI, 现在我在B处理完逻辑后,通过发intent或者handler的方式把参数传回给B程序的主入口activity, 再通过此activity调用setResult()方法返回给A程序,现在发现A程序的onActivityResult()接收的intent为null,请问这是怎么回事?

PS,如果在A调用B之后, 在B的onCreate()方法里直接setResult()回来,A是可以拿到参数的,但是在B程序中运行了一圈回来再回传给A就拿不到参数了。

有没有大神能说下原因。

suannai0314
鹳狸媛 楼主的这个问题解决了么?下边的答案能解决问题么?如果可以麻烦点击答案旁的√采纳哦~如果没有也可以将自己的答案贴上然后进行采纳的。
接近 6 年之前 回复

1个回答

运行了一圈回来,回来的还是之前的Activity吗?还是重新启动的,要保证是之前startActivityForResult()启动的Activity才可以

songzhiyong1121
Jerome_Song 那就不知道了,没看具体代码,只能猜测一下,抱歉没能帮上你的忙
接近 6 年之前 回复
iceman_lj
iceman_lj 是singleTop
接近 6 年之前 回复
songzhiyong1121
Jerome_Song 如果是singleInstance或者singleTask,你会马上得到结果,data为null ,requestCode是正确的,resultCode是0;根本不用B调用setResult
接近 6 年之前 回复
songzhiyong1121
Jerome_Song 那你启动B的Activity(调startActivityForResult()方法的Activity)的启动模式是什么?
接近 6 年之前 回复
iceman_lj
iceman_lj 发现onActivityResult() 接收的参数里 requestCode是正确的 resultCode是0
接近 6 年之前 回复
iceman_lj
iceman_lj 我之前也怀疑这个,后来打出log看到activity的地址是一样。
接近 6 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android中setResult的调用时机
最近在做项目的过程中有需要用到返回值,但是由于需求比较复杂,感觉把setResult放到onStop中比较方便,但是发现在onStop中写入setResult(。。。)和finish()之后,跟本就不会回传值,后来又试了onPaulse和onDestroy均是不可以。 后来发现是因为错过了onActivityResult的调用时机,拿A跳转到B,B返结果给A作示例:因为在 B 退回 A过程中,首
android 内置第三方apk
这个功能比较容易实现,只要把apkf放到$(TARGET_OUT_VENDOR)/operator/app目录下面 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := Facebook LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := Facebook.apk ...
setResult(RESULT_OK,intent)回传不了值,为什么?总是null
package cao.org.android.fan;rnrnimport android.app.Activity;rnimport android.content.Intent;rnimport android.os.Bundle;rnimport android.view.View;rnimport android.view.View.OnClickListener;rnimport android.widget.Button;rnimport android.widget.EditText;rnrnpublic class First_Activity extends Activity rn @Overridern protected void onActivityResult(int requestCode, int resultCode, Intent data) rn Bundle bundle=data.getExtras();rn String str_1=bundle.getString("edit_1");rn String str_2=bundle.getString("edit_2");rn System.out.println(str_1+"111111111");rn System.out.println(str_2+"22222222222");//回传的这两个值总是null值,为什么?帮帮忙,解释下,谢谢各位了rn edit_1.setText(str_1);rn edit_2.setText(str_2);rn rn rn private EditText edit_1;rn private EditText edit_2;rn private Button but_1;rn @Overridern public void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.main);rn edit_1=(EditText)findViewById(R.id.edit_1);rn edit_2=(EditText)findViewById(R.id.edit_2);rn but_1=(Button)findViewById(R.id.but_1);rn but_1.setOnClickListener(but_1_listener);rn rn private OnClickListener but_1_listener=new OnClickListener() rn rn @Overridern public void onClick(View v) rn Intent intent=new Intent(First_Activity.this,Second_Activity.class);rn Bundle bundle=new Bundle();rn String str1=edit_1.getText().toString();rn String str2= edit_2.getText().toString();rn bundle.putString("edit1",str1 );rn bundle.putString("edit2",str2);rn intent.putExtras(bundle);rn startActivityForResult(intent, 0); rn rn ;rn rnrnrnrnrnrnpackage cao.org.android.fan;rnrnimport android.app.Activity;rnimport android.content.Intent;rnimport android.os.Bundle;rnimport android.view.View;rnimport android.view.View.OnClickListener;rnimport android.widget.Button;rnrnpublic class Second_Activity extends Activity rn// private EditText edit_3;rn// private EditText edit_4;rn private Button but_2;rn @Overridern public void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.secondmain);rn but_2=(Button)findViewById(R.id.but_2);rn but_2.setOnClickListener(but_2_listener);rn rn private OnClickListener but_2_listener=new OnClickListener() rn rn @Overridern public void onClick(View v) rn System.out.println("bbbbbbbbbbbbb");rn Intent intent=getIntent();rn Bundle dBundle=intent.getExtras();rn Second_Activity.this.setResult(RESULT_OK,intent); //回传不了值,回传的是null的?rn finish();rn rn rn ;rnrnrn不知道为什么总是使用不了setResult(RESULT_OK,intent);各位懂得帮帮忙了,谢谢了。。
onActivityResult Intent的值为Null
从一个A跳转到B,按返回键的时候onActivityResult 的Intent的值为null,这是什么问题?
编译第三方APK进Android(预装APK)
预装APK 第三方APK预装
android第三方apk集成系统apk,Android.mk编写
最近做项目,遇到含有so库的第三方apk要把他集成到系统里,代码如下: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := touying LOCAL_MODULE_TAGS := optional LOCAL_STATIC_LIBRARIES:= libAndroidTouchScreen \
setResult(Activity.RESULT_OK, intent)这个Activity不返回值
是这样的rn我有2个Activity。都不是main 和 入口 activity rnrnrna 启动 startActivityForResult(intent, 0) 进入 b activity; 并重写 onActivityResult ..rnrn在b activity 中点击按钮 调用setResult 返回结果,并finish 。rnrn结果在a activity中并不执行onActivityResult 方法..rnrn请问何故?
android中启动第三方apk
在做Android系统开发的时候,经常需要各种各样的第三方apk,这使得我们的程序更加合理,饱满。 同时也大大加进了我们开发的速度。在Android launch开发中,经常使用到第三方apk,所以我们有必要掌握一个apk如何调用另一个apk。 开启第三方apk的方法有两种: 方法1: Intent i = new Intent(); Component
Android 5.0 内置第三方apk
Android 5.0 内置第三方apk 举例说明内置百度apk到code中的方法 百度apk的名称为:baidu.apk 1.    将apk放置在可以编译到的路径下,如/vendor/3rdparty/baidu/baidu.apk 2.    将Android.mk放置在vendor/3rdparty/Android.mk Android.mk的内容如下所示
android接入第三方apk的解决方法
在实际的项目开发中经常会碰到想把第三方的apk程序直接集成进我们自己的应用中这样的情况。如果是自己编写的两个应用,那么因为已经知道了这两个应用的包名,所以我们很容易就能控制这两个程序之间的跳转问题。现在的问题是,其中的一个应用我们只有其apk。解决的思路其实一样,可以想办法获取到它的包名,这样就可以用同样的方法进行跳转。分以下几种情况进行讨论一、该应用已经安装这里介绍两种方法:1、枚举所有安装的应用
android加载第三方apk插件
将pluginapk代码进行编译,apk改名成Plugin.apk然后放到sd卡中,然后运行app代码即可,后续资源会更新的。
通过Intent 调用第三方Activity未成功
第三方调用网上有不少方法了,这里说下Intent调用第三方Activity的注意点,试了好几次都没成功才发现的 1.第三方调用的App,需要在AndroidManifest 的Acivity 添加intent-filter 还有设置 lauchMode 为 singleTop 或 singleTask android:launchMode="singleTop" andro
android学习笔记——Intent的解析(Intent的隐式调用)
对于显式的Intent,因为已经明确了目标组件,因此不需要系统去解析。由于隐式Intent没有明确的目标组件,因此,当隐式Intent被抛出后,系统在众多组件中根据Intent过滤器中的action、datatype、Uri来寻找预期匹配的处理方法。如果存在多个结果,用户可以根据需要选择合适的处理方法。 一个Intent过滤器是一个IntentFilter类的实例,它包括3个方面:Act
Bundle和Intent接收为null的问题
两个半小时我一直再找这个问题。书写格式没有毛病。在Activity接收值的时候,命名一定要和key值不同。
Android开发 Intent传递参数,获取数据为null
android开发 Activity通过Intent传递参数,获取失败的原因 启动一个有返回值的activity (MapActivity) Intent intent = new Intent(UpdateDeveicesActivity.this, MapActivity.class); intent.putExtra("latitude", sensorModel.getLatitut...
Android 调用系统相机返回data为null
现在市场上很多app都有拍照功能,一般简单的拍照使用系统的拍照功能就足够了,复杂一些的需要自定义camera去实现。 使用系统的拍照功能一般代码实现如下: /** * 调用系统拍照功能 */ @Override public void onClick(View v) { switch (v.getId()) { case R.id.bt_take_photo: if( Environ
Android Intent跳转第三方地图导航大全
国内地图最大的三家:百度,高德,腾讯(最近地图事业部有点起色),当我们想使用导航功能的时候,如果业务很重那么可以使用上面任何一家的SDK,但是如果就是纯粹的附加功能,那么就可以选择Intent调整的方式,几行代码搞定一个要引入几M大的SDK的功能。 下面是三家的调起说明 百度地图公交、驾车、步行导航 调起Android百度地图,展示指定导航模式下从起点到终点的路线规划。//移动APP调起Androi
Android Intent跳转第三方地图应用,传入地址
因为项目中需要,网上的资料感觉很乱,就自己整理一下,在应用内跳转高德、百度、腾讯地图。在进行跳转之前,首先要check一下本机有没有安装安装第三方的地图(app非网页哦)包名:高德:com.autonavi.minimap百度:com.baidu.BaiduMap腾讯:com.tencent.map方法两种,第一种:高德,百度,亲测有效,貌似腾讯不行public boolean isAvailab...
Android 调用第三方 APP
本文导读 如果想要在 App 1 中调用 App 2 的 Activity1,则操作流程如下: 1)首先被调用的 App 2 中要声明 Activity1 是可以被启动的 或者 Activity 是对外可见的 1.1、声明 Activity1 可以被启动,只需在 AndroidManifest.xml 文件中声明为程序入口即可:         <activity android:n...
Android 调用第三方app
最近项目要用到视频聊天,想到了直接调用skype。一般调用第三方app需要知道app的包名和MainActivity的名字,但是现在我只有skype的apk,怎么知道它的包名和MainActivity的名字呢?网上找了找资料,发现这个很好用http://blog.chinaunix.net/uid-26898698-id-3896769.html第一种方法使用aapt这里我只找到了包名,没找到Mai
android 调用第三方so库
首先要知道这个第三方的so库是不是按jni标准写的,如果是那就简单了,直接写个native调用就行了。如果不是那就比较麻烦了,必须要把这个so库里面的函数封装一下在调用,下面进入正题。假设这个库放在/system/vendor/lib下面,名字为libtest.so,我们要调用的方法是get_status,我分别列出在第三方的app和framewok怎样调用。首先是在第三方app的调用,这里的核心...
Android 调用第三方微信支付
好久没写东西了,恰逢最近做三方支付,听身边很多开发的朋友说都被微信坑过,就把过程记录下,避免以后再碰到类似的坑。 第一步: 其实第一步实在是没什么好说明的,到微信开放平台填写相应的资料即可。 然后申请支付权限 相应的都去申请,主要是一些资料的审核。 注意:微信申请的支付过程中,大概两到三个工作日就会有回复,会给你申请的银行卡号上随机转入一笔钱(想指着这发财的还是免了吧,一般是几...
android调用第三方so库
android调用已编译的第三方.so库。只是一个简单的例子。
Android调用第三方的so
Android调用第三方的so,简单开发的配置mk文件,然后和调用代码测试
通过 intent安装 apk
一,我们通过 intent安装 apk:Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setDataAndType(Uri.parse("file://" + path),"application/vnd.android.package-ar
unity调用android的apk
unity调用android返回的数据apk 文章地址: http://www.cnkinect.com/forum.phpmod=viewthread&tid=16888&page=1&extra=#pid35424
第三方apk Android sdk 定制与调用hide的API
正常情况下的标准sdk中是不含Android源码系统中的标注有@hide的API的,所以仅仅只在标准的sdk是无法使用某些API的,原本google之所以将某些API对第三方app不开放,也是为了系统的安全性作想。 但是有的时候在项目中需要做一个能够访问这些被系统隐藏的API,这个时候怎么办呢? 目前主要有如下几种方法: 1.为了能够是第三方sdk也能正常使用这些API,需要对As中的sdk做一些...
Android Intent调用发送短信界面
权限:<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>java代码:public class MainActivity extends AppCompatActivity implements View.OnClickListener { private EditText receiv
调用Android系统设置中的Intent
开发Android软件时,常常需要打开系统设置或信息界面,来设置相关系统项或查看系统的相关信息,这时我们就可以使用以下语句来实现:(如打开“无线和网络设置”界面)
Android隐式调用intent问题求解
AndroidManifest:rnrnrnrnrn rn rn rn rn rn rn rnrn rn rn rn rn rn rn rnrnrnrnrnFirstActivity:rnrnprotected void onCreate(Bundle savedInstanceState) rnrn super.onCreate(savedInstanceState);rn setContentView(R.layout.first_layout);rn Button button1 = (Button)findViewById(R.id.button_1);rn button1.setOnClickListener(new View.OnClickListener()rn @Overridern public void onClick(View v)rn Intent intent = new Intent();rn intent.setAction("example.com.activitytest.ACTION_START");rn startActivity(intent);rn rn );rnrn rnrnrn报错一直显示无法 No Activity found to handle Intent act=example.com.activitytest.ACTION_START ,但是.....我代码找不出问题啊,改写的都写了啊。
android Intent调用地图应用客户端
调用百度地图 百度的包名为 com.baidu.BaiduMap [code=&quot;java&quot;] try { intent = Intent.getIntent(&quot;intent://map/marker?location=40.047669,116.313082&amp;title=我的位置&amp;content=百度奎科大厦&amp;src=yourCompanyName|yourAppName#I...
intent 的null指针异常
[img=https://img-bbs.csdn.net/upload/201610/20/1476957904_209348.png][/img]rn正常运行就没事 就是在正在运行这一段程序是 又去点击另一个fragment时 就报null指针异常
android之从第三方启动自己的apk
本篇主要是看完郭霖大神在微信里的一篇文章后的实验 贴上大神的文章地址:http://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650235870&idx=1&sn=8499e45b52199e739d73ba7d2db2c21b&scene=0#wechat_redirect 讲的是从网页的连接打开自己的应用,想着用手机搭建一个服务器,使用 
命令行对Android apk或第三方apk签名
系统默认的四种签名类型:四组默认签名供Android.mk在编译APK使用:1、testkey:普通APK,默认情况下使用。2、platform:该APK完成一些系统的核心功能。经过对系统中存在的文件夹的访问测试,这种方式编译出来的APK所在进程的UID为system。3、shared:该APK需要和home/contacts进程共享数据。4、media:该APK是media/download系统...
android添加第三方apk 引用jar和so
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := eng #LOCAL_JAVA_LIBRARIES := android-support LOCAL_SRC_FILES := $(call all-subdir-java-files) LOCAL_STATIC_JAVA_LI
Android动态加载第三方APK的View研究过程
热加载第三方应用的View,实现动态修改宿主应用背景:我们要做一个Launcher,Launcher上面要显示apk的界面,但是的话,如果使用widget的方式没法进行复杂的交互,所以要想办法把第三方的apk里的View,动态地加载进来。怎么实现呢?Android原生的Launcher其实也是个框架,去遍历孩子,然后显示出来。这里也一样,定好相关的接口,然后各自己的应用需要去实现,再根据条件去遍历/
android第三方apk 预编译模块构架
编写了一个shell脚本,实现了把多个第三方apk 自动解压预编译模块功能,编译到ROM中, 现在把功能模块流程框架和代码重点部分整理出来供大家参考,应该是可以移植到所有android方案的代码中使用的.
Android APK插件化——第三方专门做APK插件化的公司
请直接访问第三方专门做APK插件化的公司网站 http://apkplug.com
预置第三方apk
一、如何将带源码的APK预置进系统? 1) 在 packages/apps 下面以需要预置的 APK的 名字创建一个新文件夹,以预置一个名为Test的APK 为例  2) 将 Test APK的Source code 拷贝到 Test 文件夹下,删除 /bin 和 /gen 目录 3) 在 Test 目录下创建一个名为 Android.mk的文件,内容如下:     LOCAL_PATH:
获取第三方apk的资源文件
获取第三方apk的资源文件private Resources getResourcesByTheme(String pkgname) { try { Context friendContext = mContext.createPackageContext(pkgname, Context.CONTEXT_IGNO
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview