Intent基本介绍
来源:互联网 发布:js传值到jsp 编辑:程序博客网 时间:2024/04/30 09:10
Android各种基本知识笔记-Intent
Intent介绍
翻译得不是很好,所以贴上原文,觉得写得不对可以给我指出错误,感谢!
An intent is an abstract description of an operation to be performed. It can be used with startActivity to launch an Activity, broadcastIntent to send it to any interested BroadcastReceiver components, and startService(Intent) or bindService(Intent, ServiceConnection, int) to communicate with a background Service.
intent是一个即将执行的操作的抽象描述。它可以用
startActivity
函数启动一个Activity,broadcastIntent
函数可以将其发送到任何BroadcastReceiver组件中,而且startService(Intent)
函数和bindService(Intent,ServiceConnection,int)
函数也可以在后台服务进行通信。
An Intent provides a facility for performing late runtime binding between the code in different applications. Its most significant use is in the launching of activities, where it can be thought of as the glue between activities. It is basically a passive data structure holding an abstract description of an action to be performed.
Intent提供一个工具在不同应用程序之间执行代码的延迟间隔进行绑定。其最重要的用途是启动activities,它被称为activities之间的胶水。要执行的action的抽象描述基本上等同于一个被动的数据结构。
总的来说就是Intent的用途很广,可以在Activity、Broadcast、Service中起到很大作用
显式隐式Intent用法
- 显式Intent
直接调用
Intent(Context packageContext, Class<?> cls)
函数
startAty = (Button) findViewById(R.id.startAty); startAty.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent i = new Intent(MainActivity.this, AnotherAty.class); startActivity(i); } });
下面是显示Intent的启动页面
- 隐式Intent
直接调用
Intent(String action)
函数
这是AndroidManifest.xml文件中另一个Activity的配置信息,其中android:exported="false"
表示的该Activity是不能被其他App启动,而默认参数是true
<activity android:name=".AnotherAty" android:exported="false"> <intent-filter> <category android:name="android.intent.category.DEFAULT" /> <action android:name="com.hanksenye.learnintent.intent.action.AnotherAty" /> </intent-filter></activity>
下面是MainActivity的按钮Intent配置startAty.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent i = new Intent("com.hanksenye.learnintent.intent.action.AnotherAty"); startActivity(i); } });
下面是隐式Intent启动页面
Intent的构造函数
下面是官方文档的介绍
Intent()
Create an empty intent.
创建一个空的intentIntent(Intent o)
Copy constructor.
复制一个构造器Intent(String action)
Create an intent with a given action.
用一个已给的action创建一个intentIntent(String action, Uri uri)
Create an intent with a given action and for a given data url.
用一个已给的action创建一个intent来启动一个uriIntent(Context packageContext, Class<?> cls)
Create an intent for a specific component.
创建一个intent启动一个特殊的组件(例如别的Activity)Intent(String action, Uri uri, Context packageContext, Class<?> cls)
Create an intent for a specific component with a specified action and data.
创建一个intent启动一个带有特定action和data的特殊组件
下面是标准的Actions
Standard Activity Actions
- ACTION_MAIN
- ACTION_VIEW
- ACTION_ATTACH_DATA
- ACTION_EDIT
- ACTION_PICK
- ACTION_CHOOSER
- ACTION_GET_CONTENT
- ACTION_DIAL
- ACTION_CALL
- ACTION_SEND
- ACTION_SENDTO
- ACTION_ANSWER
- ACTION_INSERT
- ACTION_DELETE
- ACTION_RUN
- ACTION_SYNC
- ACTION_PICK_ACTIVITY
- ACTION_SEARCH
- ACTION_WEB_SEARCH
- ACTION_FACTORY_TEST
Standard Broadcast Actions
- ACTION_TIME_TICK
- ACTION_TIME_CHANGED
- ACTION_TIMEZONE_CHANGED
- ACTION_BOOT_COMPLETED
- ACTION_PACKAGE_ADDED
- ACTION_PACKAGE_CHANGED
- ACTION_PACKAGE_REMOVED
- ACTION_PACKAGE_RESTARTED
- ACTION_PACKAGE_DATA_CLEARED
- ACTION_PACKAGES_SUSPENDED
- ACTION_PACKAGES_UNSUSPENDED
- ACTION_UID_REMOVED
- ACTION_BATTERY_CHANGED
- ACTION_POWER_CONNECTED
- ACTION_POWER_DISCONNECTED
- ACTION_SHUTDOWN
Standard Categories
- CATEGORY_DEFAULT
- CATEGORY_BROWSABLE
- CATEGORY_TAB
- CATEGORY_ALTERNATIVE
- CATEGORY_SELECTED_ALTERNATIVE
- CATEGORY_LAUNCHER
- CATEGORY_INFO
- CATEGORY_HOME
- CATEGORY_PREFERENCE
- CATEGORY_TEST
- CATEGORY_CAR_DOCK
- CATEGORY_DESK_DOCK
- CATEGORY_LE_DESK_DOCK
- CATEGORY_HE_DESK_DOCK
- CATEGORY_CAR_MODE
- CATEGORY_APP_MARKET
Standard Extra Data
- EXTRA_ALARM_COUNT
- EXTRA_BCC
- EXTRA_CC
- EXTRA_CHANGED_COMPONENT_NAME
- EXTRA_DATA_REMOVED
- EXTRA_DOCK_STATE
- EXTRA_DOCK_STATE_HE_DESK
- EXTRA_DOCK_STATE_LE_DESK
- EXTRA_DOCK_STATE_CAR
- EXTRA_DOCK_STATE_DESK
- EXTRA_DOCK_STATE_UNDOCKED
- EXTRA_DONT_KILL_APP
- EXTRA_EMAIL
- EXTRA_INITIAL_INTENTS
- EXTRA_INTENT
- EXTRA_KEY_EVENT
- EXTRA_ORIGINATING_URI
- EXTRA_PHONE_NUMBER
- EXTRA_REFERRER
- EXTRA_REMOTE_INTENT_TOKEN
- EXTRA_REPLACING
- EXTRA_SHORTCUT_ICON
- EXTRA_SHORTCUT_ICON_RESOURCE
- EXTRA_SHORTCUT_INTENT
- EXTRA_STREAM
- EXTRA_SHORTCUT_NAME
- EXTRA_SUBJECT
- EXTRA_TEMPLATE
- EXTRA_TEXT
- EXTRA_TITLE
- EXTRA_UID
- Intent基本介绍
- Intent介绍
- Intent介绍
- Intent介绍
- Intent Flag介绍 intent.addFlags()
- Intent的基本用法
- Intent基本操作
- intent基本用法
- Intent基本用法
- Intent基本使用
- Intent 基本用法
- Intent与Activity介绍
- Intent 介绍--窗体跳转
- Android Intent介绍
- Intent Flag 用法介绍
- Intent意图的介绍
- Intent Flag介绍
- android Intent FLAG介绍:
- scala flatMap 简介
- MSP430 SPI总线详解
- wifi详解(五)
- 【JAVA】内嵌JettyServer结合springMVC、mybatis实现轻量化系统部署
- animation-list AnimationDrawable null 空指针 原因
- Intent基本介绍
- 按钮 边角 相关设置
- 32位的tetview and medit 在64bit的linux运行,有很多32bit的库没有安装,错误不断之解决办法。
- 旋转动画
- poj 1696
- Java基本语法-----java二维数组
- hdu 1003
- redis范围查询应用-查找IP所在城市<转>
- 控制试图圆角