- Intent用法
1.1启动一个特定的Activity
Intent intent=new Intent(CurrentActivity.this,OtherActivity.class);
startActivity(intent);
1.2启动一个未指明的Activity
Intent inter=new Intent(Intent.ACTION_DIAL,Uri.parse(“tel:115-1345”));
startActivity(intent);
1.3处理一个Activity的返回值
Public void onCreate(Bundle saveInstanceState){
super.onCreate(savedInstanceState);
listener1=new OnClickListener(){
public void onClick(View v){
Intent intent1=new Intent(ActivityMain.this,Activity1.class);
Intent1.putExtra(“activityMain”,”数据来自activityMain”);
startActivityForResult(intent1,REQUEST_CODE);
}
};
Listener2=new OnClickListener(){
public void onClick(View v){
setTitle(“这是在ActivityMain”);
Intent intent2=new Intent(ActivityMain.this,Activity2.class);
startActivity(intent2);
}
};
setContentView(R.layout.main);
button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(listener1);
button2=(Button)findViewById(R.id.button2);
button2.setOnClickListener(listener2);
setTitle(“ActivityMain”);
}
@Override
Protected void onActivityResult(int requestCode,int resultCode,Intent data){
If(requestCode==REQUEST_CODE){
If(resultCode==RESULT_CANCELED)
setTitle(“取消”);
else if(resultCode==RESULT_OK){
String temp=null;
Bundle extras=data.getExtras();
If(extras!=null){
Temp=extras.getString(“store”);
}
setTitle(temp);
}
}
}
-
Intent应用举例
Activity01.java
public class Activity01 extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
/* 设置显示main.xml布局 */
setContentView(R.layout.main);
/* findViewById(R.id.button1)取得布局main.xml中的button1 */
Button button = (Button) findViewById(R.id.button1);
/* 监听button的事件信息 */
button.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v)
{
/* 新建一个Intent对象 */
Intent intent = new Intent();
/* 指定intent要启动的类 */
intent.setClass(Activity01.this, Activity02.class);
/* 启动一个新的Activity */
startActivity(intent);
/* 关闭当前的Activity */
Activity01.this.finish();
}
});
}
}
Activity02.java
public class Activity02 extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
/* 设置显示main2.xml布局 */
setContentView(R.layout.main2);
/* findViewById(R.id.button2)取得布局main.xml中的button2 */
Button button = (Button) findViewById(R.id.button2);
/* 监听button的事件信息 */
button.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v)
{
/* 新建一个Intent对象 */
Intent intent = new Intent();
/* 指定intent要启动的类 */
intent.setClass(Activity02.this, Activity01.class);
/* 启动一个新的Activity */
startActivity(intent);
/* 关闭当前的Activity */
Activity02.this.finish();
}
});
}
}
-
Android系统自带的Action介绍
3.1ACTION_MAIN
Android.intent.action.MAIN,在每个AndroidManifest.xml问洞中都能看到,标记当前的Activity作为一个程序的入口。
3.2ACTION_VIEW
将数据显示给用户
3.3ACTION_DIAL
用于描述给用户打电话的动作
3.4ACTION_PICK
从特定的一组数据中进行选择数据操作
3.5ACTION_DEIT
编辑特定的数据
3.6ACTION_DELETE
删除特定的数据
-
与动作Action相关联的数据Data介绍
VIEW_ACTION content://contacts/1显示标示符为1的联系人的详细信息
EDIT_ACTION content://contacts/1编辑标示符为1的联系人的详细信息
VIEW_ACTION content://contacts/显示所有联系人列表
PICK_ACTION content://contacts/显示所有联系人的列表,并且允许用户在列表中选择一个联系人,然后把这个联系人返回给父Activity
-
Intent中其他属性介绍
类别category:它为执行动作的附加信息
数据类型type:显式指定Intent的目标组件的类名称。
组件component:指定Intent的目标组件的类名称
附加信息extras:是其他所有附加信息的集合
-
Android解析Intent实现
6.1直接Intent:指定了component属性的Intent或者setClass
6.2间接Intent:没有指定comonent属性的Intent。
6.3如果Intent指明了action,则目标组件的IntentFilter的action列表中就必须包含有这个action,否则不匹配
6.4如果Intent没有提供type,系统将从data中得到数据类型
6.5如果Intent中的数据不是具体内容而是URI形式的话,则将根据Intent中数据的scheme进行匹配
6.6如果Intent指定了一个或多个category,这些类别必须全部出现在组件的类别列表中
Intent应用
时间: 2024-11-05 15:56:26
Intent应用的相关文章
intent.getExtras()和intent.getStringExtra()
intent.getExtras()返回一个Bundle对象. 看下面代码: Intent intent=new Intent(this,SecondActivity.class); Bundle bundle=new Bundle(); bundle.putString("test", "123"); intent.putExtras(bundle); startActivity(intent); String params=this.getIntent().ge
Intent传参数
Intent 是Android 程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组 件想要执行的动作,还可以在不同组件之间传递数据.Intent 一般可被用于启动活动.启动 服务.以及发送广播等场景 // A activity调用 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.act
Android之Intent
前言:大家都知道Android程序的实现一般都由四大组件构成: Activity :Android程序实现功能的主体,提供了和客户交互的界面,也提供了和后台交互的功能. Service :是一个没有界面的activity,主要用于后台运行的程序. Broadcast :是当前程序和系统之间通信的工具. ContentProvider :android程序,管理资源的一种工具. 上面这4个组件都需要在manifest里面注册才能够使用,manifest就相当于android程序的大管家.当然光有组
Pro Android学习笔记(十一):了解Intent(中)
Intent的构成 Intent可以带有action,data(由URI表达),extra data(key/value map,键值对),指定的类名(成为component name).一个intent至少携带上述的一个内容. Action.Action名,在上一笔记中已经给出两种例子,一种是系统自带的,如Intent.ACTION_DAIL,一种是开发者通过AndroidManifest.xml进行注册的,在创建intent时给出:Intent intent=new Intent(Strin
Android中Intent的深入理解
(1)Intent提供了一种通用的消息系统,它允许在你的应用程序见传递Intent来执行动作和产生事件,使用Intent可以激活Android应用的三种类型的核心组件:活动Activity.服务Service.广播接受者Broadcast. (2)Intent又分为隐士意图和显示意图. 显示意图:调用intent.setComponent().intent.setClassName()或者intent.setClass()方法明确的制定组件名的Intent为显示意图,显示意图明确的制定要激活哪一
Intent中的四个重要属性——Action、Data、Category、Extras
Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递.通过其自带的属性,其实可以方便的完成很多较为复杂的操作.例如直接调用拨号功能.直接自动调用合适的程序打开不同类型的文件等等.诸如此类,都可以通过设置Intent属性来完成. Intent主要有以下四个重要属性,它们分别为: Action:Action属性的值为一个字符串,它代表了系统中已经定义了一系列常用的动作.通过setAction()方法或在清单文件AndroidManifest.xml中设置.默认为:DE
intent对于电话和浏览器调用
1.创建xml文件及按钮 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android
ndroid学习笔记-Activity&;Intent
界面activity_main.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com
Intent学习
1.Intent是什么 Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对 应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则 根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组 件,并完成组件的调用. Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service 之间的交互.因此,Intent在这里起着一个中介的作用,专门提供组 件互相调用的相关信息,实现调用者与被调用者之间的解耦. 2
Activity以singleTask模式启动,intent传值的解决办法
转载请注明出处,谢谢http://blog.csdn.net/harryweasley/article/details/46557827 因为项目中,有一个消息推送的功能,每次推送一个消息,就会开启FunctionActivity,那么为了避免重复开启它,在退后的时候,多次出现该Activity,就将该Activity的启动模式变为singleTask. 这样在之后的多次启动该Activity,便会调用onNewIntent(Intent intent)方法. activity通过intent传