有时候我们需要把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如何使用呢:

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

android startActivityForResult的用法的更多相关文章

  1. ZT onActivityResult在android中的用法

    onActivityResult在android中的用法 举例说我想要做的一个事情是,在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就 ...

  2. 【Android学习】android:layout_weight的用法实例

    对于android:layout_weight的用法,用下面的例子来说明: <LinearLayout xmlns:android="http://schemas.android.co ...

  3. Android之Adapter用法总结-(转)

    Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid Vie ...

  4. Android之Adapter用法总结(转)

    Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid Vie ...

  5. Android webservice的用法详细讲解

    Android webservice的用法详细讲解 看到有很多朋友对WebService还不是很了解,在此就详细的讲讲WebService,争取说得明白吧.此文章采用的项目是我毕业设计的webserv ...

  6. Android之Adapter用法总结

    http://blog.csdn.net/fznpcy/article/details/8658155 Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器 ...

  7. xamarin android viewpager的用法

    1.什么是ViewPager 通过手势滑动可以完成view的切换,一般是用来app的引导页或则实现图片轮播,类似网页上的banner轮播. Adnroid 3.0后引入的一个UI控件,在xamarin ...

  8. Android开发PreferenceActivity 用法的代码

    将开发过程中常用的一些内容做个收藏,下面资料是关于Android开发PreferenceActivity 用法的内容,希望对大伙有一些用处.public class Setting extends P ...

  9. Android ContentProvider基本用法

    转自:https://www.jianshu.com/p/601086916c8f 一.基本概念 ContentProvider是Android系统中提供的专门用户不同应用间进行数据共享的组件,提供了 ...

随机推荐

  1. 安装linux操作系统--浪潮服务器

    一直都是在虚拟机上进行安装linux操作系统,在服务器上安装的很少,也没有碰到过没找到驱动的情况,例如什么raid卡驱动,网卡驱动等异常情况的发生. 这次安装了两台服务器,浪潮的提供的服务器,硬盘是两 ...

  2. Asp.net MVC4 使用EF实现数据库的增删改查

    EF的使用 步骤: (1)将EF添加到项目:在Model右击添加新建项 找到ADO.NET实体数据模型,接着... (2)实现数据库的增删改查       查询 (因为在Model中已经添加EF实体了 ...

  3. 了解JBoss Drools Engine

    说一个自己比较喜欢的开源产品JBoss Drools, 很多企业内部大型项目都在使用的规则引擎该怎么理解规则引擎,到底是个什么东西,我好像没听过,我们能用么. 它是配有内置算法及对应数据结构的计算容器 ...

  4. 基于AWS的自动化部署实践

    过年前,我给InfoQ写了篇文章详细介绍我们团队在过去4年基于AWS的自动化部署实践.文章包括了:为什么选择AWS.AWS上自动化部署的优势和挑战.我们的解决方案,以及和AWS DevOps方案(Op ...

  5. SQL时间第一期_获取系统年月日时分秒

    select GETDATE() as '当前日期',DateName(year,GetDate()) as '年',DateName(month,GetDate()) as '月',DateName ...

  6. InterfaceConnect

    GUID aguid; _di_IInterface a, c; Calld::TEventSink* FEventSink; Server_tlb::_di_IServerWithEvents FS ...

  7. tinyxml2简单使用

    引入头文件 <span style="font-size:18px;">#include "HelloWorldScene.h" #include ...

  8. WebRtc VoiceEngine代码解析

    WebRtc中VoiceEngine可以完成大部分的VOIP相关人物,包括采集.自动增益.噪声消除.回声抑制.编解码.RTP传输.下边我们通过代码来解析Voe中处理流程: 创建VoiceEngine和 ...

  9. ASA与PIX的区别

    很多年来,Cisco PIX一直都是Cisco确定的防火墙.但是在2005年5月,Cisco推出了一个新的产品——适应性安全产品(ASA,Adaptive Security Appliance).不过 ...

  10. HIT 2275 Number sequence

    点击打开HIT 2275 思路: 树状数组 分析: 1 题目要求的是总共的搭配方式,满足Ai < Aj > Ak.并且i j k不同 2 我们开两个树状数组,第一个在输入的时候就去更新.然 ...