Android学习笔记——Intents 和 Intent Filters(二)

本人邮箱:[email protected],欢迎交流讨论。

欢迎转载,转载请注明网址:http://www.cnblogs.com/JohnTsai/p/3993488.html

  • 知识点:

继续昨天的Intents 和 Intent Filters的学习

  • 组成一个Intent(Building an Intent):

Intent 对象携带信息(例如明确的组件名或应该接收intent的组件种类(intent category)),Android系统使用这些

信息决定开启哪个组件。还携带了接收的组件使用的信息,为了完全的执行功能。

Intent包含的基本信息有以下几种:

1.组件名

1 //1.组件名(Component name)
2 //目标组件的完全限制类名(fully qualified class name),包括app的包名。
3 // 例如com.johntsai.SecondActivity
4 //我们可以使用以下方法设置组件名
5  setComponent()
6  setClass()
7  setClassName()
8 //或者是Intent构造器

2.功能

 1 //2.功能,活动(Action)
 2 //指定一般要执行的功能或者活动的字符串
 3 //我们可以指定Intent的action,使用以下方法
 4
 5 setAction()
 6 //或是Intent构造器
 7 //如果我们构造自己的action,必须要包括我们app的包名作为前缀
 8 //例如:
 9    static final String ACTION_TIMETRAVEL
10                   ="com.johntsai.action.TIMETRAVEL";

3.数据

 1 //3.数据(Data)
 2 //URI(Uri对象)引用数据或MIME类型的数据
 3 //提供的data的类型一般由intent的action决定
 4 //例如action是ACTION_EDIT,那么data就应该包含可编辑的文档的URI
 5 //仅设置data URI
 6 setData()
 7 //仅设置MIME类型
 8 setType()
 9 //两者都设置
10 setDataAndType()
11 //提醒:如果你想要设置两者2,不能调用setData()和setType(),因为它们会使对方的数值无效。一般是使用setDataAndType()。

4.种类

1 //4.种类(Category)
2 //包含关于哪种组件应该处理Intent的附加信息的字符串
3 //一个intent可以有任意多个category说明
4 //指定category
5 addCategory()

组件名、功能、数据、种类(component name,action,date,category)代表了一个Intent最典型的特点,

通过读取这些属性,Android系统能决定开启哪个组件。

5.附加部分

1 //5.附加部分(Extras)
2 //携带需要完成要求功能的附加信息的键值对(Key-value paris)
3 //声明我们自己的附加部分(我们的app的Intent接收)确保包含我们的应用包名作为前缀
4 //例如:
5 static final String EXTRA_GIGAWATTS = "com.johntsai.EXTRA_GIGAWATTS";

6.标志

1 //6.标志(Flags)
2 //Flags指导Android系统怎样开启Activity(例如Activity属于哪个task)以及开启后怎样处理它(例如,它是否属于最近的Activity列表中)
3 setFlags();

如果喜欢,请点推荐。

To be Continued.....

时间: 2024-08-23 02:46:08

Android学习笔记——Intents 和 Intent Filters(二)的相关文章

Android学习笔记——Intents 和 Intent Filters(一)

本人邮箱:[email protected],欢迎交流讨论. 欢迎转载,转载请注明网址:http://www.cnblogs.com/JohnTsai/p/3991792.html 知识点:Intents 和 Intent Filters的定义和作用以及用法. Intent Intent这个单词的意思是“意图”,正如它的意思,它在Android中就是表达了实现某项功能的意图(intention to do an  action). 定义: Intent是传送消息的对象(messaging obj

Android学习笔记三:Intent实现页面跳转

在主Activity的OnCreate()方法中,通过findViewById得到Activiity_main中已定义的组件,例如Button.EditText等,注意需要强制转型view到具体的类型. 给取得的组件btn添加监听器如OnClickListener(),在其中实例化Intent对象,参数为要跳转的出发类和目标类. 用putExtra()方法添加内容到intent对象中,内容为K-V对.K中可写标记,V中存要传输的内容. public void onClick(View arg0)

Pro Android学习笔记(十二):了解Intent(下)

解析Intent,寻找匹配Activity 如果给出component名字(包名.类名)是explicit intent,否则是implicit intent.对于explicit intent,关键就是component 名字,在<intent-fliter>中声明的其他属性被忽略.对于implicit intent,则根据action,category和data来进行匹配.然而一个intent fliter中可以声明多个actions,多个categories,多个data属性,因此可以满

Android学习笔记(二二): 多页显示-Tag的使用

在手机屏幕中,Tab也是比较常用的,通常和List结合,例如我们手机的通信录.下面是Tag的结构. TabHost是整个Tab的容器,包括两部分,TabWidget和FrameLayout.TabWidget就是每个tab的标签,FrameLayout则是tab内容. 如果我们使用extends TabAcitivty,如同ListActivity,TabHost必须设置为@android:id/tabhost TabWidget必须设置android:id为@android:id/tabs F

Android学习笔记(二)--iparty登陆界面

打开应用,判断是否第一次使用. 1 private void beforeInitMenu() { 2 AppContext appContext = (AppContext) getApplicationContext(); 3 4 if (appContext.isFirstLogin()) { 5 // 第一次启动 6 //如果第一次启动,出现5张引导图片. 7 Intent intent = new Intent(this, GuideActivity.class); 8 startAc

Android学习笔记(三五):再谈Intent(下)-一些实践

Android的UI框架要求用户将他们的app分为activity,通过itent来进行调度,其中有一个main activity由Android的launcher在桌面中调用.例如一个日历的应用,需要查看日历的activity,查看单个事件的activity,编辑事件的activity等等.在查看日历的activity中,如果用户选择的某个事件,需要通过查看事件的activity来处理.这就是最近本的app UI框架,本次,我们将学习如何通过intent来完成. Activity之间的关系 某

Android学习笔记(三四):再谈Intent(上)-一些知识

在Android学习笔记(七):多个Activity和Intent中,我们先在学会了如何使用intent在代码中唤起activity.此处作深一步地学习. 什么是Intent intent是对一个操作处理的抽象描述.context可以在使用startActivity(intent)来launch一个actvivity,就如我们在学习笔记(七)中的处理,也是最常用的方式,将activity在我们的应用中整合:可以在通过sentBroast(intent)来广播给任何有兴趣的BroadcastRec

Android学习笔记二

17. 在ContentProvider中定义的getType()方法是定义URI的内容类型. 18. SQLiteDatabase类中的insert/delete/update/query方法其实也挺好用的,我在EquipmentProvider类中做了实现 19. Android专门有个单元测试项目(Android Test Project),在这个项目中,可以新建一个继承AndroidTestCase类的具体测试类来单元测试某个功能.我新建了一个AndroidTestProject项目,在

Android学习笔记二十之Toast吐司、Notification通知、PopupWindow弹出窗

Android学习笔记二十之Toast吐司.Notification通知.PopupWindow弹出窗 Toast吐司 Toast吐司是我们经常用到的一个控件,Toast是AndroidOS用来显示消息的一种机制,它与Dialog不同,Toast不会获取到焦点,通常显示一段时间之后就会自动消失,下面我们来介绍Toast的几种常用方式: 第一种,默认显示方式,也是最常用的方式: Toast.makeText(MainActivity.this, "这是默认的显示方式", Toast.LE