intent 和intent Filters
startActivity()的机制
用到了IBinder ipc 用到了进程间通讯机制
activity有四种LaunchMode
当startActivity()的时候不知道启动的是不是和自己的activity在一个
进程中。所以要用 IPC 进程间通讯来调用
简单的使用方法
1
A.class中
1
2
3
|
Intent new Intent(A. this , class );
intent.putExtra( "sundy.demo" , "你好" );
startActivity(intent);
|
B.class中
1
2
3
|
Intent this .getIntent();
String value "key" );
Toast.makeText( this , 1 ).show();
|
2
A.class中
1
2
3
4
|
Intent new Intent();
intent.putExtra( "key" , "123" );
intent.setAction( "com.wang.cn" );
startActivity(intent);
|
B。
class中
.
1
2
3
|
Intent this .getIntent();
String value "key" );
Toast.makeText( this , 1 ).show();
|
要在mainfest中设置B。clas的activity中的intent-filter的action中设置
1
2
3
4
5
6
7
|
<activity ".B" >
<intent-filter>
<action "com.wang.cn" />
<category "android.intent.category.DEFAULT" />
</intent-filter>
</activity>
|
必须写上 <category android:name="android.intent.category.DEFAULT" />这一句不然会报错。。
3. 简单的打电话 代码
1
2
3
4
5
|
Intent new Intent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.parse( "tel:12345645555" ));
startActivity(intent);
|
setAction和setData都是系統定義好 。這裡仅仅說下使用方法
4.获取data中的值
A。class中
1
2
3
4
|
Intent new Intent();
intent.setAction( "com.wang.cn" );
intent.setData(Uri.parse( "tel:12345645555" ));
startActivity(intent);
|
B。class中
1
2
3
4
|
Intent this .getIntent();
String uri
Toast.makeText( this , 1 ).show();
|
setAction和setData都是系統定義好 。這裡仅仅說下使用方法
1
2
3
4
5
6
7
8
9
10
|
<activity ".Rose" >
<intent-filter>
<action "com.wang.cn" />
<category "android.intent.cat />
<data "tel" >
</data>
</intent-filter>
</activity>
|
5.startActivityForResult 方法
A。
class中
1
2
3
|
Intent new Intent();
intent.setClass(A. this ,B. class );
startActivityForResult(intent, 123 );
|
在A。
clas的activity中 导入系统的onActivityResult方法
1
2
3
4
5
6
7
8
9
|
@Override
protected void onActivityResult( int requestCode, int resultCode,
//
super .onActivityResult(requestCode,
if (resultCode 321 )
String value "name" );
Toast.makeText( this , 1 ).show();
}
}
|
B.class中
1
2
3
4
5
6
7
8
9
10
11
|
button.setOnClickListener( new OnClickListener()
@Override
public void onClick(View
Intent this .getIntent();
intent.putExtra( "name" , "111111111" );
setResult( 321 ,
finish();
}
});
|
当resultCode一样的时候 回传值成功。。
6.intent 传递 对象 类 等等
intent和intentfilter的更多相关文章
-
Intent和IntentFilter详解
Intent用于启动Activity,Service, 以及BroadcastReceiver三种组件, 同时还是组件之间通信的重要媒介. 使用Intent启动组件的优势1, Intent为组件的启动 ...
-
[转]android笔记--Intent和IntentFilter详解
Intent用于启动Activity, Service, 以及BroadcastReceiver三种组件, 同时还是组件之间通信的重要媒介. 使用Intent启动组件的优势1, Intent为组件的启 ...
-
android学习日记20--连接组件之Intent和IntentFilter
上次刚了解完Android的四大组件,现在学习组件间通信的Intent和IntentFilter 一.Intent 1.简述 Intent(意图)在应用程序运行时连接两个不同组件,是一种运行时的绑定机 ...
-
Intent及IntentFilter具体解释
Intent用于启动Activity, Service, 以及BroadcastReceiver三种组件, 同一时候还是组件之间通信的重要媒介. 使用Intent启动组件的优势 1, Intent为组 ...
-
Android应用程序组件之间的通信Intent和IntentFilter
Android应用程序的基本组件,这些基本组建除了Content Provider之外,几乎全部都是依靠Intent对象来激活和通信的. 下面介绍Intent类,并通过例子来说明Intent一般用法 ...
-
Android的Intent和IntentFilter应用说明一例
很多人对文档中的Intent和IntentFilter不理解是什么意思,我这里举例解释下. Intent字面意思就是目标,目的.通俗一点,需要达成某些目标,则需要提供一些动作,这些目标的分类,以及达成 ...
-
Intent和IntentFilter简介
Intent和IntentFilter简介 Intent和IntentFilter简介 意图Intent分类: 显式意图:利用class找到对方,在同一个应用程序类可以方便使用,但是在不同的应用程序无 ...
-
android笔记--Intent和IntentFilter详解
本文转载自:https://www.cnblogs.com/liushengjie/archive/2012/08/30/2663066.html 本文转载自:https://www.cnblogs. ...
-
Android开发之隐式Intent中Intent-filter的三个属性-action,category,data
使用隐式Intent时,需要使用到意图过滤器Intent-filter.Intent-filter含有三个属性:action,category,data.通过这三个属性的组合,可以启动想要启动的act ...
随机推荐
-
【XLL 框架库函数】 QuitFramework
去初使化框架库,简问题是才的重新初使化 XLOPER/XLOPER12. 参数 这个函数没有参数 属性值/返回值 这个函数没有返回值.
-
C++线程池的实现(二)
参考文章:http://blog.csdn.net/huyiyang2010/archive/2010/08/10/5801597.aspx // CThread.h #ifndef __MY_THR ...
-
HDU 1498:50 years, 50 colors(二分图匹配)
http://acm.hdu.edu.cn/showproblem.php?pid=1498 题意:给出一个 n*n 的矩阵,里面的数字代表一种颜色,每次能炸掉一排或者一列的相同颜色的气球,问有哪些颜 ...
-
C#中的枚举类型(enum type)
ylbtech 原文 C#中的枚举类型(enum type) 概念 枚举类型(enum type)是具有一组命名常量的独特的值类型.在以下示例中: enum Color { Red, Green, B ...
-
Android 项目利用 Android Studio 和 Gradle 打包多版本APK
在项目开发过程中,经常会有需要打包不同版本的 APK 的需求. 比如 debug版,release版,dev版等等. 有时候不同的版本中使用到的不同的服务端api域名也不相同. 比如 debug_ap ...
-
c++ 拷贝构造练习
#include<iostream> using namespace std; class Vector { private: int *dwp; int size; void clone ...
-
Android开发教程
http://www.cnblogs.com/liulikui/archive/2011/11/13/2247280.html 博客链接——>环境搭建
-
11.Redis缓存设计
11.Redis缓存设计11.1 缓存的收益和成本11.2 缓存更新策略11.3 缓存粒度控制11.4 穿透优化11.5 无底洞优化11.6 雪崩优化11.7 热点key重建优化11.8 本章重点回顾
-
关于ARM CM3的启动文件分析
下面以ARM Cortex_M3裸核的启动代码为例,做一下简单的分析.首先,在启动文件中完成了三项工作: 1. 堆栈以及堆的初始化 2. 定位中断向量表 3. 调用Reset Handler. ...
-
brew安装和换源
命令行执行ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&q ...