有时候我们需要把A activity提交数据给B  activity处理,然后把结果返回给A

这种方式在很多种情况需要用到,比如我应用的程序需要有拍照上传的功能。

一种解决方案是  我的应用程序 〉调用系统相机〉拍照〉关闭系统相机〉返回拍照后的照片到我的应用程序

启动一个ForResult的意图:

Intent intent = new Intent(MainAcitvity.this,
      RequestActivity.class);
    //发送意图标示为REQUSET=1
    startActivityForResult(intent, REQUSET);

B Activity处理数据:

Intent intent=new Intent();
    intent.putExtra(KEY_USER_ID, et01.getText().toString());
    intent.putExtra(KEY_USER_PASSWORD, et02.getText().toString());
setResult(RESULT_OK, intent);
 finish();

那么startActivityForResult如何使用呢:

Java代码  
  1. ;
  2. @Override
  3. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  4. // TODO Auto-generated method stub
  5. super.onActivityResult(requestCode, resultCode, data);
  6. //requestCode标示请求的标示   resultCode表示有数据
  7. if (requestCode == MainAcitvity.REQUSET && resultCode == RESULT_OK) {
  8. String str = "账号"
  9. + data.getStringExtra(RequestActivity.KEY_USER_ID) + "\n"
  10. + "密码"
  11. + data.getStringExtra(RequestActivity.KEY_USER_PASSWORD);
  12. tv01.setText(str);
  13. }
  14. Toast.makeText(
  15. this,
  16. "requestCode=" + requestCode + ":" + "resultCode=" + resultCode,
  17. Toast.LENGTH_LONG).show();
  18. }
  19. /** Called when the activity is first created. */
  20. @Override
  21. public void onCreate(Bundle savedInstanceState) {
  22. super.onCreate(savedInstanceState);
  23. setContentView(R.layout.main);
  24. btn01 = (Button) findViewById(R.id.btn01);
  25. tv01 = (TextView) findViewById(R.id.tv01);
  26. btn01.setOnClickListener(new OnClickListener() {
  27. @Override
  28. public void onClick(View v) {
  29. // TODO Auto-generated method stub
  30. Intent intent = new Intent(MainAcitvity.this,
  31. RequestActivity.class);
  32. //发送意图标示为REQUSET=1
  33. startActivityForResult(intent, REQUSET);
  34. }
  35. });
  36. }
  37. }
Java代码  
  1. import android.app.Activity;
  2. import android.content.Intent;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.view.View.OnClickListener;
  6. import android.widget.Button;
  7. import android.widget.EditText;
  8. public class RequestActivity extends Activity {
  9. private Button btn01;
  10. private EditText et01;
  11. private EditText et02;
  12. public static final String KEY_USER_ID="KEY_USER_ID";
  13. public static final String KEY_USER_PASSWORD="KEY_USER_PASSWORD";
  14. /** Called when the activity is first created. */
  15. @Override
  16. public void onCreate(Bundle savedInstanceState) {
  17. super.onCreate(savedInstanceState);
  18. setContentView(R.layout.request_activity);
  19. btn01=(Button)findViewById(R.id.btn01);
  20. et01=(EditText)findViewById(R.id.et01);
  21. et02=(EditText)findViewById(R.id.et02);
  22. btn01.setOnClickListener(new OnClickListener() {
  23. @Override
  24. public void onClick(View v) {
  25. // TODO Auto-generated method stub
  26. Intent intent=new Intent();
  27. intent.putExtra(KEY_USER_ID, et01.getText().toString());
  28. intent.putExtra(KEY_USER_PASSWORD, et02.getText().toString());
  29. setResult(RESULT_OK, intent);
  30. finish();
  31. }
  32. });
  33. }
  34. }

startActivityForResult的用法和demo的更多相关文章

  1. [转]startActivityForResult的用法和demo

    有时候我们需要把A activity提交数据给B  activity处理,然后把结果返回给A 这种方式在很多种情况需要用到,比如我应用的程序需要有拍照上传的功能. 一种解决方案是  我的应用程序 〉调 ...

  2. Android Studio-—使用OpenCV的配置方法和demo以及开发过程中遇到的问题解决

    前提: 1.安装Android Studio(过程略) 2.官网下载OpenCV for Android 网址:http:opencv.org/downloads.html 我下载的是下图的版本 3. ...

  3. 常用算法和Demo(Java实现)(持续更新)

    源码地址:https://github.com/zwxbest/Demo 1.顺序存储和单向链表,双向链表,循环链表的增删查改 https://github.com/zwxbest/Demo/tree ...

  4. Android下高斯模糊的算法和demo

    采用纯java和RenderScript两种方式来做高斯算法. 也可以用NDK来做,想试试的可以参考: http://stackoverflow.com/questions/2067955/fast- ...

  5. Jpa 语法和 demo

    转 http://www.cnblogs.com/jiangxiaoyaoblog/p/5635152.html 参考资料   https://www.w3cschool.cn/java/jpa-qu ...

  6. 为duilib的MenuDemo增加消息响应,优化代码和显示效果

    转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/38253297 第一部分 我在前一段时间研究了怎么制作duilib的菜单, ...

  7. MVC文件上传与下载

    MVC文件上传与下载 MVC文件上传与下载 想想自己从毕业到工作也有一年多,以前公司的任务的比较重,项目中有的时候需要用到什么东西都去搜索一下,基础知识感觉还没有以前在学校中的好.最近开始写博客,真的 ...

  8. java 与大数据学习较好的网站

    C# C#中 Thread,Task,Async/Await,IAsyncResult 的那些事儿!https://www.cnblogs.com/doforfuture/p/6293926.html ...

  9. [blockchain-035]eos的部署安装智能合约

    0.参考资料 https://github.com/EOSIO/eos/wiki 1. eos的github地址 https://github.com/EOSIO/eos 2.下载eos源码 git ...

随机推荐

  1. Codeforces Gym 100342J Problem J. Triatrip 求三元环的数量 bitset

    Problem J. Triatrip Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100342/at ...

  2. Hark的数据结构与算法练习之鸽巢排序

    算法说明 鸽巢排序是分布排序的一种,我理解其实鸽巢就是计数排序的简化版,不同之处就是鸽巢是不稳定的,计数排序是稳定的. 逻辑很简单,就是先找出待排数组的最大值maxNum,然后实例一个maxNum+1 ...

  3. node连接--MySQL

    MySQL驱动器:node-mysql; MySQL对象关系映射器:node-sequelize; 例子: package.json: { "name": "shoppi ...

  4. Playmaker Input篇教程之Playmaker购买下载和导入

    Playmaker Input篇教程之Playmaker购买下载和导入 Playmaker Input篇认识Playmaker Playmaker是Unity的插件,其标志如图1-1所示.开发者使用它 ...

  5. ural 1156. Two Rounds

    1156. Two Rounds Time limit: 2.0 secondMemory limit: 64 MB There are two rounds in the Urals Champio ...

  6. CentOS6.4 安装LVS-RRD监控LVS

    1.安装依赖包 yum install -y php httpd bc rrdtool 启动apache (我看网上的一些文档说不能用80端口,但我用80端口试了一下也好使,如果出现不好使的情况就改一 ...

  7. 从一个action地址获取信息

    get方法 String url_str ="http://127.0.0.1:8400/lxyyProduct/getProductUserNeedUpdate.action?ts=&qu ...

  8. 原来还有这样的记词方法_Java版记不规则动词_博主推荐

    昨天在看一本英语书的不规则动词的时候,突然产生的灵感:就是想把这样记单词简单方式,用程序代码实现,然后,使用户可以与之进行交互 这样,在用户背不规则动词的时候就会轻松把它给记住.基于这一点,于是我就思 ...

  9. virsh命令

    查看虚拟机: [root@super67 ~]# virsh list Id    Name                           State --------------------- ...

  10. IOS 开发的官方文档链接

    下面这些文章都是苹果官方的开发文档,非常有用: iOS Developer Library https://developer.apple.com/library/ios/navigation/ 总入 ...