startActivity、 startActivityForResult 、广播的使用
前言
近期忙着跟项目。好久没有写文字了。今天一个群里面的童鞋问到一个关于不同界面间传值的问题,借这个背景,写一段关于“ startActivity、 startActivityForResult 、广播的使用”的文字,希望能对照我还新的新手有所帮助
①、 startActivity、 startActivityForResult:
Intent intent;@Override
public void onClick(View v) {
int tag = v.getId();
switch (tag) {
// 通过startActivityForResult
case R.id.btnTZBystartActivtyForResult:
intent = new Intent(MainActivity.this, ModifyActivity.class);
startActivityForResult(intent, 0);
break;
// 通过Broadcast
case R.id.btnTZBystartActivty:
intent = new Intent(MainActivity.this, ModifyActivity.class);
startActivity(intent);
break;
default:
break;
}
}
②、 广播的使用:
首先,要定义一个广播接收类:
// 定义一个BroadcastReceiver广播接收类:
public class ReceiveBroadCast extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent data) {
String actionName = data.getAction();
if (myActionName.equals(actionName)) {
// 得到广播中得到的数据。并显示出来
Bundle extras = data.getExtras();
if (extras != null) {
String[] value = extras.getStringArray("data");
tv1.setText(value[0]);
tv2.setText(value[1]);
tv3.setText(value[2]);
tv4.setText(value[3]);
}
}
}
}
其次。注冊广播:
// 注冊广播
public void registerBoradcastReceiver() {
receiveBroadCast = new ReceiveBroadCast();
IntentFilter filter = new IntentFilter();
filter.addAction(myActionName); // 仅仅有持有同样的action的接受者才干接收此广播
registerReceiver(receiveBroadCast, filter);
}
再次。就是发送广播了:
String[] value2 = new String[] { "111", "222", "333", "444" };
Intent tent2 = new Intent("MyActionTag");// 广播的标签,一定要和须要接受的一致。 tent2.putExtra("data", value2);
sendBroadcast(tent2);// 发送广播
this.finish();啥也不说了,上Demo吧:
http://download.csdn.net/detail/xiaojia7283/8099919 欢迎下载。
startActivity、 startActivityForResult 、广播的使用的更多相关文章
- Android 基础篇(二)
ADB进程 adb指令 adb install xxx.apk adb uninstall 包名 adb devices adb start-server adb kill-server adb sh ...
- Android--Intent(意图)
Intent(意图)是安卓系统中最重要的概念, 它是一种消息传递机制, 用于系统与应用程序组件之间的交互, 意图可以分为3类, 分别是: 活动意图, 广播意图和服务意图 1. Activity Int ...
- android 学习随笔二十二(小结)
ADB进程 * adb指令 * adb install xxx.apk * adb uninstall 包名 * adb devices * adb start-server * adb kill-s ...
- Intent(意图)
Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”. 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的<intent-filter&g ...
- 常见的Activity Action Intent常量
Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”. 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的<intent-filter&g ...
- 4、什么构成了我们Android应用程序?(七大件)
一.应用程序四大组件 [Activity] Activity是Android应用程序的一个界面,可以通过这个界面查看联系人,打电话戒玩游戏. b. 一个应用程序通常包含多个Activity. c. A ...
- 很全面的Android面试题
Activity 什么是Activity 四大组件之一,一个和用户交的互界面就是一个activity,是所有 View 的容器 我开发常用的的有FragmentActivitiy,ListActivi ...
- Android Intent 基本使用及对象构成
Intent基本使用 Intent可以理解为不同组件通信的媒介或者信使. Intent可以启动一个Activity,也可以启动一个Service,还可以发起一个广播Broadcast. 具体方法如下表 ...
- Android Studio教程10-Intent的详细使用
目录 1. Intent启动器 1.1. Intent的用途 1. 启动Activity 3. 传递广播 1.2. Intent类型 1.显示Intent 2.隐式Intent 2. 构建Intent ...
- android应用安全——组件通信安全(Intent)
这里主要涉及到了Activity.Content Provider.Service.Broadcast Receiver等.这些如果在Androidmanifest.xml配置不当,会被其他应用调用, ...
随机推荐
- luogu2569 [SCOI2010]股票交易
题解看这里 #include <iostream> #include <cstring> #include <cstdio> using namespace std ...
- PHP 接入支付宝即时到账功能
首先请到支付宝那边申请一个及时到账的接口账户,需要提交相关材料申请.然后根据即时到账的API文档进行接入.API文档提供了各种语言版本的demo,我这里是下的php版demo,然后再进行相关修改操作. ...
- tomcat的安装和优化
tomcat的安装 jdk版本安装 #!/bin/bash # desc: jdk安装脚本1. 1.7 1.8 download_url='http://**************' jdk_env ...
- (绝对有用)iOS获取UUID,并使用keychain存储
原文链接 http://blog.sina.com.cn/s/blog_5971cdd00102vqgy.html UDID被弃用,使用UUID来作为设备的唯一标识.获取到UUID后,如果用NSUse ...
- BZOJ1925 [Sdoi2010]地精部落 【dp】
题目 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi,其中Hi是1到N ...
- mybatis如何在控制台打印执行的sql语句
log4j.rootLogger=DEBUG, Console #Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log ...
- 【bzoj2393】Cirno的完美算数教室 数论容斥
Description ~Cirno发现了一种baka数,这种数呢~只含有2和⑨两种数字~~ 现在Cirno想知道~一个区间中~~有多少个数能被baka数整除~ 但是Cirno这么天才的妖精才不屑去数 ...
- Log4j2异步情况下怎么防止丢日志的源码分析以及队列等待和拒绝策略分析
org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor以下所有源码均在此类中首先我们看下log4j2异步队列的初始化 从这里面我们 ...
- ElasticSearch分词器
什么是分词器? 分词器,是将用户输入的一段文本,分析成符合逻辑的一种工具.到目前为止呢,分词器没有办法做到完全的符合人们的要求.和我们有关的分词器有英文的和中文的.英文的分词器过程:输入文本-关键词切 ...
- oracle 连接数据库以及查看当前用户、当前数据库实例
sql>show user;查看当前用户 sql>show parameter instance_name;查看当前数据库实例 例如: sqlplus登录:用sys用户登录(密码是1234 ...