Starting Activities and Getting Results

The startActivity(Intent)  method is used to start a new activity, (注意是new)
which will be placed at the top of the activity stack. It takes a single argument, an Intent, 
which describes the activity to be executed.

Sometimes you want to get a result back from an activity when it ends
(end这个没说清楚吧,在2.1中反正是按back键回来才调用了onActivityResult,
如果通过startActivity或startActivityForResult回来是不回调用). 
For example, you may start an activity that lets the user pick a person in a list of contacts; 
when it ends, it returns the person that was selected. To do this,
you call the startActivityForResult(Intent, int) version with a second integer parameter identifying the call. 
The result will come back through your onActivityResult(int, int, Intent) method.

When an activity exits, it can call setResult(int) to return data back to its parent. 
It must always supply a result code, which can be the standard results RESULT_CANCELED, RESULT_OK, 
or any custom values starting at RESULT_FIRST_USER. In addition, it can optionally return back an Intent containing any additional data it wants. All of this information appears back on the parent's Activity.onActivityResult(), along with the integer identifier it originally supplied.

If a child activity fails for any reason (such as crashing), 
the parent activity will receive a result with the code RESULT_CANCELED.

public class MyActivity extends Activity {
     ...

static final int PICK_CONTACT_REQUEST = 0;

protected boolean onKeyDown(int keyCode, KeyEvent event) {
         if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
             // When the user center presses, let them pick a contact.
             startActivityForResult(
                 new Intent(Intent.ACTION_PICK,
                 new Uri("content://contacts")),
                 PICK_CONTACT_REQUEST);
            return true;
         }
         return false;
     }

protected void onActivityResult(int requestCode, int resultCode,
             Intent data) {
         if (requestCode == PICK_CONTACT_REQUEST) {
             if (resultCode == RESULT_OK) {
                 // A contact was picked.  Here we will just display it
                 // to the user.
                 startActivity(new Intent(Intent.ACTION_VIEW, data));
             }
         }
     }
 }

Starting Activities and Getting Results相关推荐

  1. Androidz之Activity概要学习

    Androidz之Activity概要学习 1.     Activity类概述 Activity(活动)是一个单独的.能获取焦点的,且能与用户交互的东西.所以我们通常在Activity类中的onCr ...

  2. Activity的概念

    Activity相关概念 说明:翻译自google android开发手册,错误在所难免,欢迎指正. 一个activity相当于手机的一屏,它能够获得焦点,用户一般都在它上面操作.几乎所有的activ ...

  3. 【翻译】Activity

    转载请注明出处:http://blog.csdn.net/kester_/article/details/52503653 参考地址:https://developer.android.com/ref ...

  4. 深入理解Activity启动流程(三)–Activity启动的详细流程2

    本文原创作者:Cloud Chou. 欢迎转载,请注明出处和本文链接 本系列博客将详细阐述Activity的启动流程,这些博客基于Cm 10.1源码研究. 深入理解Activity启动流程(一)--A ...

  5. 2020测试工具索引

    初次发布文章时,共收集435个工具! 这些测试工具均为博主人肉爬虫出来的,数据来源于: 百度.Google 各大博客.门户网站.论坛 个人测试经验 在整理过程中,我会尽量去官网找到官方对该工具的描述, ...

  6. Android 自带的应用统计服务(UsageStatsService)

    最近要弄在 framework 中弄一个统计应用使用时长的功能.刚开始想着要怎么是不是要在 ActivityManagerService(AMS)的几个 Activity 的生命周期那埋几个统计点,后 ...

  7. Android - Broadcasts overview(不完整)

    文章目录 Broadcasts overview About system broadcasts Changes to system broadcasts Android 9 Android 8.0 ...

  8. Android APIs (Class Index - Android SDK)(二)

    类名 说明 R R.anim R.animator R.array R.attr R.bool R.color R.dimen R.drawable R.fraction R.id R.integer ...

  9. apple id无法创建_我们如何使用Apple的学习框架来创建我们的第一个应用程序

    apple id无法创建 by Jonata Corrêa 由JonataCorrêa 我们如何使用Apple的学习框架来创建我们的第一个应用程序 (How we used Apple's learn ...

最新文章

  1. day04 JDBC java数据库连接
  2. iOS常用CGRect的交错,边缘,中心的检测
  3. Easyui 让DataGrid适应浏览器宽度
  4. OpenLDAP实战指南上市发售
  5. Android环信爬坑指北(二)头像昵称好友备注显示
  6. EOF的意义及用法(while(scanf(“%d“,n) != EOF))
  7. c++STL容器的List
  8. 在64位Win7系统中配置jsp开发环境以及一些问题解决方案
  9. php为什么都不想去二次开发,php学习误区:不要盲目的去读程序
  10. 系统间账号认证系统同步方案
  11. Java描述设计模式(13):迭代器模式
  12. iOS利用OpenCV 实现文字行区域提取的尝试
  13. 借助mapshaper的简化来修复geojson的拓扑错误
  14. 单位计算机安全和保密措施,安全管理及保密措施
  15. 手机号码状态检测(空号检测)的原理
  16. 马尔可夫模型(MM) 马尔可夫链
  17. matlab 绘制四棱锥,素描教程:怎么绘制四棱锥
  18. 伽罗华域(Galois Field)上的四则运算
  19. [转载]用 Apache Geronimo 创建并部署 blog 和 wiki 模块
  20. 08年十大可能被炒CEO出炉 AMD鲁毅智位列第一

热门文章

  1. 热门游戏遭病毒团伙利用,中招者电脑被远程操控
  2. React Native 仿开眼 App
  3. SpringMVC笔记(狂神说)
  4. ubuntu 在线听歌软件 --亦歌
  5. 内网多级穿透之工具使用(termite)
  6. java 实现loading效果_常见的几种loding效果实现
  7. c 语言闹钟源码,小程序源代码:给自己设计一个番茄闹钟,文末有代码
  8. Vulnhub靶场——Hacker_Kid-v1.0.1
  9. Java SE Lesson 5
  10. 国外问卷调查平台 新手入门要怎么做?