Intent.

Slides:



Advertisements
Similar presentations
中秋节 作者:杨露. “ 团圆节 ” “ 秋暮夕月 ” 的习俗 中秋拜月 热爱中秋佳节 每年农历八月十五日,是传统的中秋佳节。 这时是一年秋季的中期,所以被称为中秋。在中 国的农历里,一年分为四季,每季又分为孟、仲、 季三个部分,因而中秋也称仲秋。八月十五的月 亮比其他几个月的满月更圆,更明亮,所以又叫.
Advertisements

庄文忠 副教授 世新大学行政管理学系 2012/7/6 SPSS 之应用 ( 庄文忠副教授 ) 1 SPSS 的环境与基本操作.
请点击以下链接下载 WinHEC 的演讲材料 Download WinHEC presentations here:
電影裡的生命教育 主講人:李偉文 (牙醫師.作家.環保志工).
第一章 Android简介与环境搭建 QQ号: QQ群: (Android编程入门) 网络资源:
第六课 师爱助我成长 我爱我师 导入 新课 进行 新课 练习 拓展.
雲端經營平台介紹 By: Freeda Chen.
數位生活科技實務應用探討 瑞帝電通國際有限公司 台北: 電話 : (02) 傳真 : (02)
Part 2 開發Android應用程式的流程
广东省教育厅教研室 黄志红 ,     研究改进行动     反思促使成长 广东省教育厅教研室  黄志红 ,
Activity之间的数据传递.
班級:四資工3B 指導老師:林建良 組員: 姚維杰、 林育誠、許耿銘
微小光機電的新科技生活 一花一世界,一沙一天國; 君掌盛無邊,剎那含永劫。(李叔同) 沈志雄 彰化師範大學機電工程學系 光磊科技研發部
使用Android Studio 開發Android App 靜宜大學資管系 楊子青
厦门大学数据库实验室 报告人:谢荣东 导师:林子雨 2014年8月30日
Services of the Mobile and Use of Communication Network
實驗四:單位轉換程式.
行動研究就是一種行動性的研究,由行動者來進行研究,而不是由外於行動領域的學者與與科學家來進行,研究的問題也取自行動。
Lotus Domino R7 Designer
第六章 应用程序结构.
北市學生生涯輔導紀錄數位化 行政端之運用
7.3 Intent传值.
Android程式開發準備 Android智慧型手機程式設計 建國科技大學 資管系 饒瑞佶 2012/4 V1 2012/8 V2
Basis基本操作、使用者 管理與權限設定
第10章 App微信分享的实现 倚动实验室.
全新电子期刊平台 - 移动设备访问
Creating Animated Apps (I) 靜宜大學資管系 楊子青
第一个Android程序 本讲大纲: 1、创建Android应用程序 2、Android项目结构说明 3、运行Android应用程序
Ch5 Android應用程式的主要組成.
Chapter 7 Android應用元件 Android應用元件可以幫助我們獲得系統資源訊息(ActivityManager)、提供系統服務(Service)、搜尋系統服務(SearchManager)、監聽Intent訊息(Broadcast Receiver)以及資料共享(ContentProvider和ContentResolver)。
Android Intent 建國科技大學 資管系 饒瑞佶 2011/1.
Retail Customer Online Registration 零售顧客線上註冊教學
ContentProvider與資料共享
第9章 使用意圖啟動活動與內建應用程式 9-1 意圖的基礎 9-2 使用意圖啟動活動
Android 课程讲义 智能手机开发
ANDROID PROGRAMMING2.
SWT-JFace 南京大学软件学院
遠東NAS-ON 6000教育訓練 簡報 工程師: 傅國忠.
第2讲 移动应用开发基础知识(二) 宋婕
常见问题解答 II. App上重置并清空数据库之后,手机app找不到圣诞灯怎么办? I. 打开APP,发现并连接不了圣诞灯怎么办?
第八讲 MATLAB图形用 户界面设计.
第三章 基本觀念 電腦繪圖與動畫 (Computer Graphics & Animation) Object Data Image
第8章 Service解析.
Programmable Logic Architecture Verilog HDL FPGA Design
Android 视频教程简介.
簡易 Visual Studio 2005 C++ 使用手冊
LTE按發即說(PTT)緊急通訊標準規範及系統架構研究
第三章 基本觀念 電腦繪圖與動畫 (Computer Graphics & Animation) Object Data Image
B+ Tree.
Android智慧型手機程式設計實務應用班
資料庫 靜宜大學資管系 楊子青.
成品检查报告 Inspection Report
Android Application Component
Real-Time System Software Group Lab 408 Wireless Networking and Embedded Systems Laboratory Virtualization, Parallelization, Service 實驗室主要是以系統軟體設計為主,
網路應用.
京都楓采 by 王南焜 林淑玹 按鍵換頁 請開音響!.
Broadcast System For Mobile Device
Location Based Services - LBS
有山家园 十渡一日游 260元VIP套餐 有山家园 品牌连锁 特色民宿.农家院,专注十渡团建、旅游一站式服务.
105學年度第二次 總務會議 106年03月28日(二) 下午14:00 第二教學研討室.
Chapter 10 Mobile IP TCP/IP Protocol Suite
Create and Use the Authorization Objects in ABAP
黑莓备份及恢复教程.
MIME.
國立清華大學 National Tsing Hua University
Android藍芽聊天室 SDK內的範例程式
第9章 BroadcastReceiver的使用
Android进程间通讯.
Introduction to Computer Security and Cryptography
Part 8 Broadcast Receiver、Service和App Widget
Presentation transcript:

Intent

一.Intent的介绍 Intent的中文意思是“意图,意向” 在Android中提供了Intent机制来协助应用间的交互与通讯 Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给 调用的组件,并完成组件的调用 Intent不仅可用于应用程序之间,也可用于应用程序内部的 Activity/Service之间的交互 可以将Intent理解为不同组件之间通信的“媒介”专门提供组件互相调用的 相关信息。

二.Inten启动组件的方法 Activity startActvity( ) startActivityForResult( ) Service startService( ) bindService( ) Broadcasts sendBroadcasts( )

三.Intent的属性 Intent有以下几个属性: 动作(Action), 数据(Data), 分类(Category), 类型(Type), 组件(Compent) 以及扩展信(Extra)。

private static final String ATTR_ACTION = "action"; private static final String TAG_CATEGORIES = "categories"; private static final String ATTR_CATEGORY = "category"; private static final String TAG_EXTRA = "extra"; private static final String ATTR_TYPE = "type"; private static final String ATTR_COMPONENT = "component"; private static final String ATTR_DATA = "data"; private static final String ATTR_FLAGS = “flags"; 其中最常用的是Action属性和Data属性。

1.Intent的Action属性 Action是指Intent要完成的动作,是一个字符串常量。SDK中定义了一些标准的Action常量如下表所示。 ACTION_CALL activity:Initiate a phone call. ACTION_EDIT activity:Display data for the user to edit. ACTION_MAIN activity:Start up as the initial activity of a task, with no data input and no returned output. ACTION_SYNC activity:Synchronize data on a server with data on the mobile device. ACTION_BATTERY_LOW broadcast receiver:A warning that the battery is low. ACTION_HEADSET_PLUG broadcast receiver:A headset has been plugged into the device, or unplugged from it. ACTION_SCREEN_ON broadcast receiver The screen has been turned on. ACTION_TIMEZONE_CHANGED The setting for the time zone has changed.

Intent intent = new Intent(); // 设置Intent Action属性 intent.setAction(Intent.ACTION_GET_CONTENT); // 设置Intent Type 属性 主要是获取通讯录的内容 intent.setType("vnd.android.cursor.item/phone"); startActivity(intent);

2.Intent的Data属性 Intent的Data属性是执行动作的URI和MIME类型 ,不同的Action有不同的Data数据指定。比如: ACTION_EDIT Action应该和要编辑的文档URI Data匹配,ACTION_VIEW应用应该和要显示的 URI匹配。

3.Intent的Category属性 Intent中的Category属性是一个执行动作Action的附加信 息 比如: CATEGORY_HOME则表示放回到Home界面, ALTERNATIVE_CATEGORY表示当前的Intent是一系列 的可选动作中的一个 下表是SDK文档中关于Category的信息。

CATEGORY_BROWSABLE The target activity can be safely invoked by the browser to display data referenced by a link — for example, an image or an e-mail message. CATEGORY_GADGET The activity can be embedded inside of another activity that hosts gadgets. CATEGORY_HOME The activity displays the home screen, the first screen the user sees when the device is turned on or when the HOME key is pressed. CATEGORY_LAUNCHER The activity can be the initial activity of a task and is listed in the top-level application launcher. CATEGORY_PREFERENCE The target activity is a preference panel.

Intent intent = new Intent(); intent.setAction(Intent.ACTION_MAIN);// 添加 Action属性 intent.addCategory(Intent.CATEGORY_HOME);// 添加Category属性 startActivity(intent);// 启动Activity

三、Activity的启动模式: Activity有四种启动模式:standard、singleTop、 singleTask、singleInstance。 可以在AndroidManifest.xml中activity标签的属性 android:launchMode中设置该activity的加载模式 。

standard模式:默认的模式,以这种模式加载时,每当启动一个新的活动,必定会构造一个新的Activity实例放到返回栈(目标 task)的栈顶,不管这个Activity是否已经存在于返回栈中; singleTop模式:如果一个以singleTop模式启动的activity的实例已经存在于返回桟的桟顶,那么再启动这个Activity时,不会 创建新的实例,而是重用位于栈顶的那个实例,并且会调用该实例的onNewIntent()方法将Intent对象传递到这个实例中; 注:如果以singleTop模式启动的activity的一个实例已经存在于返回桟中,但是不在桟顶,那么它的行为和standard模式相同 ,也会创建多个实例; singleTask模式:这种模式下,每次启动一个activity时,系统首先会在返回栈中检查是否存在该活动的实例,如果存在,则直 接使用该实例,并把这个活动之上的所有活动统统清除;如果没有发现就会创建一个新的活动实例; singleInstance模式:总是在新的任务中开启,并且这个新的任务中有且只有这一个实例,也就是说被该实例启动的其他 activity会自动运行于另一个任务中。当再次启动该activity的实例时,会重新调用已存在的任务和实例。并且会调用这个实例 的onNewIntent() 方法,将Intent实例传递到该实例中。和singleTask相同,同一时刻在系统中只会存在一个这样的Activity实例。 (singleInstance即单实例) 注:前面三种模式中,每个应用程序都有自己的返回栈,同一个活动在不同的返回栈中入栈时,必然是创建了新的实例。而使 用singleInstance模式可以解决这个问题,在这种模式下会有一个单独的返回栈来管理这个活动,不管是哪一个应用程序来访 问这个活动,都公用同一个返回栈,也就解决了共享活动实例的问题。(此时可以实现任务之间的切换,而不是单独某个栈中 的实例切换)