/*---------------------------------------- *-描述--Intent跳转与传值总结. *-描述--S1.Intent描述 * Intent的分类 * 1.显式意图 通常是指intent启动目标组件时明确指定了组件的名称的情况 * 一般是用在启动同一个应用程序中的组件 * 2.隐式意图 通常是指intent启动目标组件时没有明确指定了组件的名称的情况 * 只是指定了启动组件的特征,一般情况下是用在启动不同应用中的组件 * * 如果目标组件没有指定intent-filter意图过滤器只能通过显式启动 * 如果指定了intent-filter意图过滤器既可以通过显式启动也可以通过action categroy的隐式启动 * * 隐式启动的规律总结: * 1.action标签必须存在 * 2.intent-filter意图过滤器中可以存在多个action category data标签,只要intent对象中能与属性 * 对应列表中的某一个标签匹配即可启动 * 3.一般情况隐式启动时通过action和category标签作为启动标示即可 *-描述--S2.添加显示或隐式意图 * >>添加显示意图 * SS1.新建的类继承-android.app.Activity; * SS2.在清单文件AndroidManifest.xml中注册创建的Activity; * SS3.添加新的Activity视图; * SS4.java代码调用新建的Activity,Context.startActivity(意图对象) * >>添加隐式意图 * SS1.新建的类继承-android.app.Activity; * SS2.在清单文件AndroidManifest.xml中注册创建的多个隐式意图; * intent-filter action配置相同 * 隐式意图调用,可以选择多个页面(相同的action) * S3.java代码调用新建的Activity,Context.startActivity("") *-描述--S3.Intent传值相关描述 * >>Intent存入传递的值 * intent.putExtra(key,value) key是String类型的键,值可以是基本数据类型(数组)、系列化的对象等 * intent.putExtras(key,value) value可以是Intent或Bundle * Bundle可以传递基本数据类型(数组)、String、实现Parcelable/Serializable接口的对象、IBinder和 * 另一个Bundle等 * >>获取传递过来Intent中的值 * getIntent() * intent.getXXXExtra() *-描述--S4.Activity值的回传 * >>A页面=>B页面 * startActivityForResult(intent, REQUEST_CODE) 启动活动(intent,请求码) //A页面 * 根据请求码判断是否是对应程序段发出的请求 * setResult(Activity.RESULT_OK, intent) 返回结果 //B页面 * RESULT_OK结果码,data-要返回的数据 * onActivityResult(int requestCode, int resultCode, Intent data) //A页面 * B结束后调用的A方法,requestCode-A发出的请求码,resultCode-B设置的结果码,data-B回传的数据 *-描述--S5.通过Application传值 * TestApplication extends Application * testApplication (TestApplication) getApplication(); //A页面 * testApplication.getXXX //B页面 *-描述--B1.None. *-------------------------------------------------------------------------------------------------------------------