赞
踩
- startActivity(Intent)、startActivityForResult(Intent):启动一个Activity
- startService(Intent)、bindService(Intent):启动一个Service
- sendBroadcast:发送广播到指定 BroadcastReceiver
- String q = "https://www.baidu.com";
- Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
- intent.putExtra(SearchManager.QUERY, q);
- startActivity(intent);
public Intent()
public Intent(String action)
public Intent(String action, Uri uri)
常见的 Activity Intent Action 常量 | ||
---|---|---|
常量名称 | 常量值 | 意义/描述 |
ACTION_MAIN | android.intent.action.MAIN | 应用程序入口 |
ACTION_VIEW | android.intent.action.VIEW | 显示数据给用户 |
ACTION_ATTACH_DATA | android.intent.action.ATTACH_DATA | 指明附加信息给其他地方的一些数据 |
ACTION_EDIT | android.intent.action.EDIT | 显示可编辑的数据 |
ACTION_PICK | android.intent.action.PICK | 选择数据 |
ACTION_CHOOSER | android.intent.action.CHOOSER | 显示一个Activity选择器 |
ACTION_GET_CONTENT | android.intent.action.GET_CONTENT | 获得内容 |
ACTION_DIAL | android.intent.action.GET_CONTENT | 显示打电话面板 |
ACITON_CALL | android.intent.action.DIAL | 直接打电话 |
ACTION_SEND | android.intent.action.SEND | 直接发短信 |
ACTION_SENDTO | android.intent.action.SENDTO | 选择发短信 |
ACTION_ANSWER | android.intent.action.ANSWER | 应答电话 |
ACTION_INSERT | android.intent.action.INSERT | 插入数据 |
ACTION_DELETE | android.intent.action.DELETE | 删除数据 |
ACTION_RUN | android.intent.action.RUN | 运行数据 |
ACTION_SYNC | android.intent.action.SYNC | 同步数据 |
ACTION_PICK_ACTIVITY | android.intent.action.PICK_ACTIVITY | 选择Activity |
ACTION_WEB_SEARCH | android.intent.action.WEB_SEARCH | Web搜索 |
ACTION_FACTORY_TEST | android.intent.action.FACTORY_TEST | 工厂测试入口点 |
ACTION_SEARCH | android.intent.action.SEARCH | 搜索 |
常见的 BroadcastIntent Action 常量 | |
常量名称 | 意义/描述 |
ACTION_TIME_TICK | 系统时间每过一分钟发出的广播 |
ACTION_TIME_CHANGED | 系统时间通过设置发生了变化 |
ACTION_TIMEZONE_CHANGED | 时区改变 |
ACTION_BOOT_COMPLETED | 系统启动完毕 |
ACTION_PACKAGE_ADDED | 新的应用程序apk包安装完毕 |
ACTION_PACKAGE_CHANGED | 现有应用程序apk包改变 |
ACTION_PACKAGE_REMOVED | 现有应用程序apk包被删除 |
ACTION_UID_REMOVED | 用户id被删除 |
Intent setData(@Nullable Uri data) ——以 URI 来指定数据
Intent setType(@Nullable String type) ——以元类型指定数据
Intent setDataAndType(@Nullable Uri data, @Nullable String type) ——同时指定 URI 和元类型Uri getData() ——获取 UIR 数据
String getType() ——获取元数据
- /**为 10086 发送短信
- * 也可以使用 Intent(String action, Uri uri) 构造器同时设置Action(动作)与Data(数据)
- * */
- Uri uri = Uri.parse("smsto:10086");
- Intent intent = new Intent(Intent.ACTION_SENDTO);
- intent.setData(uri);
- /**sms_body:设置短信的内容*/
- intent.putExtra("sms_body", "Hello");
- startActivity(intent);
Action 与 Data 属性匹配 | |
动作/数据组合 | 描述/说明 |
ACTION_VIEW content://contacts/people/1 | 显示ID为1的用户的信息。 |
ACTION_DIAL content://contacts/people/1 | 显示电话拨号器,并填充用户1的数据。 |
ACTION_VIEW tel:114 | 显示电话拨号器,并填充给定的号码。 |
ACTION_DIAL tel:114 | 显示电话拨号器,并填充给定的号码。 |
ACTION_EDIT content://contacts/people/1 | 编辑ID为1的用户信息 |
ACTION_VIEW content://contacts/people/ | 显示用户列表,以便查看 |
ACTION_VIEW http://www.google.com | 在浏览器中浏览该网站 |
ACTION_VIEW file://sdcard/mymusic.mp3 | 播放MP3 |
ACTION_VIEW geo:39.2456,116.3523 | 显示地图 |
- String packageName = "com.youdao.dict";
- PackageManager packageManager = getPackageManager();
- Intent intent = packageManager.getLaunchIntentForPackage(packageName);
- intent.addCategory(Intent.CATEGORY_LAUNCHER);
- intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.setAction("android.intent.action.MAIN");
- intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
- startActivity(intent);
常见 Category 常量 | |
常量名称 | 意义/描述 |
CATEGORY_BROWSABLE | 目标Activity能通过在网页浏览器中点击链接而激活(比如,点击浏览器中的图片链接) |
CATEGORY_GADGET | 表示目标Activity可以被内嵌到其他Activity当中 |
CATEGORY_HOME | 目标Activity是HOME Activity,即手机开机启动后显示的Activity,或按下HOME键后显示的Activity |
CATEGORY_LAUNCHER | 表示目标Activity是应用程序中最优先被执行的Activity |
CATEGORY_PREFERENCE | 表示目标Activity是一个偏爱设置的Activity |
- Intent intent = new Intent(Intent.ACTION_SEND);
- intent.putExtra(Intent.EXTRA_EMAIL, "someone@domain.com");
- intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
- intent.putExtra(Intent.EXTRA_TEXT, "Hello");
- intent.setType("text/plain");
- startActivity(intent);
常见 Extra 常量 | |
常量名称 | 意义/描述 |
EXTRA_BCC | 装有邮件密送地址的字符串数组 |
EXTRA_CC | 装有邮件抄送地址的字符串数组 |
EXTRA_EMAIL | 装有邮件发送地址的字符串数组 |
EXTRA_INTENT | 使用ACTION_PICK_ACTIVITY动作时装有Intent选项的键 |
EXTRA_KEY_EVENT | 触发该Intent的案件的KeyEvent对象 |
EXTRA_PHONE_NUMBER | 使用拨打电话相关的Action时,电话号码字符串的键,类型为String |
EXTRA_SHORTCUT_ICON:使用ACTION_CREATE_SHORTCUT在HomeActivity创建快捷方式时,对快捷方式的描述信息。其中ICON和ICON_RESOURCE描述的是快捷方式的图标,类型分别为Bitmap和ShortcutIconResource。INTENT描述的是快捷方式相对应的Intent对象。NAME描述的是快捷方式的名字 | |
EXTRA_SHORTCUT_ICON_RESOURCE EXTRA_SHORTCUT_INTENT EXTRA_SHORTCUT_NAME EXTRA_SUBJECT :描述信息主题的键 | |
EXTRA_TEXT | 使用ACTION_SEND动作时,用来描述要发送的文本信息,类型为CharSequence |
EXTRA_TITLE | 使用ACTION_CHOOSER动作时,描述对话框标题的键,类型为CharSequence |
EXTRA_UID | 使用ACTION_UID_REMOVED动作时,描述删除的用户id的键,类型为int |
标记 | 说明 |
FLAG_ACTIVITY_CLEAR_TASK | 如果在意图中设置,并通过 Context.startActivity 传递,这个标记将导致与该活动相关联的所有已存在的任务在活动启动前被清空。活动将成为一个空任务的根,所有旧的活动被结束。该标记可以与 FLAG_ACTIVITY_NEW_TASK 结合使用。 |
FLAG_ACTIVITY_CLEAR_TOP | 如果设置该标记,活动将在当前运行的任务中被启动。这并不会启动一个新的活动实例,所有的在它之上的活动被关闭,这个意图作为一个新的意图被传递到已有的(目前在顶部的)活动。 |
FLAG_ACTIVITY_NEW_TASK | 这个标记一般用于使得活动用于"启动器"风格的行为:为用户提供一个可以独立完成运行的数据,并启动完整儿独立的活动。 |
FLAG_ACTIVITY_SINGLE_TOP | 栈顶单实例(当该activity处于task栈顶时,可以复用,直接onNewIntent) |
··············下一篇《Android 显式意图(Intent) 与 隐式意图》
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。