Android系统中标准Intent的使用√

已解决:intent调用系统管理器获取文件路径问题 Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*");//设置类型,我这里是任意类型,任意后缀的可以这样写。 //intent.setType(“audio/*”); //选择音频 //inte... 阅读详情

转载自:http://blog.youkuaiyun.com/zhangjg_blog/article/details/10901293


一 Android系统用于Activity的标准Intent


1 根据联系人ID显示联系人信息
[java]  view plain copy
  1. Intent intent = new Intent();  
  2. intent.setAction(Intent.ACTION_VIEW);   //显示联系人信息  
  3. intent.setData(Uri.parse("content://contacts/people/492"));  
  4. startActivity(intent);  

2 根据联系人ID显示拨号面板
[java]  view plain copy
  1. Intent intent = new Intent();  
  2. intent.setAction(Intent.ACTION_DIAL);  //显示拨号面板  
  3. intent.setData(Uri.parse("content://contacts/people/492"));  
  4. startActivity(intent);  

3 显示拨号面板, 并在拨号面板上将号码显示出来
[java]  view plain copy
  1. Intent intent = new Intent();  
  2. intent.setAction(Intent.ACTION_VIEW);     
  3. intent.setData(Uri.parse("tel://15216448315"));  
  4. startActivity(intent);  

4 显示拨号面板, 并在拨号面板上将号码显示出来
[java]  view plain copy
  1. Intent intent = new Intent();  
  2. intent.setAction(Intent.ACTION_DIAL);   //显示拨号面板, 并在拨号面板上将号码显示出来  
  3. intent.setData(Uri.parse("tel://15216448315"));  
  4. startActivity(intent);  

5 根据联系人的ID编辑联系人
[java]  view plain copy
  1. Intent intent = new Intent();  
  2. intent.setAction(Intent.ACTION_EDIT);   //编辑联系人  
  3. intent.setData(Uri.parse("content://contacts/people/492"));  
  4. startActivity(intent);  

6 显示通讯录联系人和其他账号联系人的列表
[java]  view plain copy
  1. Intent intent = new Intent();  
  2. intent.setAction(Intent.ACTION_VIEW);     
  3. intent.setData(Uri.parse("content://contacts/people/"));  
  4. startActivity(intent);  

7 启动HomeScreen
[java]  view plain copy
  1. Intent intent = new Intent();  
  2. intent.setAction(Intent.ACTION_MAIN);     //启动HomeScreen  
  3. intent.addCategory(Intent.CATEGORY_HOME);  
  4. startActivity(intent);  

8 选择某个联系人的号码,返回一个代表这个号码的uri,如:content://contacts/phones/982
[java]  view plain copy
  1. Intent intent = new Intent();  
  2. intent.setAction(Intent.ACTION_GET_CONTENT);       
  3. intent.setType("vnd.android.cursor.item/phone");  
  4. startActivityForResult(intent, 1);  

9  打开多个应用选取各种类型的数据,以uri返回。返回的uri可使用ContentResolver.openInputStream(Uri)打开
    该功能可用在邮件中附件的选取
    举例如下:
    选取一张图片, 返回的uri为 content://media/external/images/media/47
    选取一首歌, 返回的uri为 content://media/external/audio/media/51
[java]  view plain copy
  1. Intent intent = new Intent();  
  2. intent.setAction(Intent.ACTION_GET_CONTENT);       
  3. intent.setType("*/*");  
  4. intent.addCategory(Intent.CATEGORY_OPENABLE);  
  5. startActivityForResult(intent, 2);  

10 自定义一个chooser,不使用系统的chooser
     该chooser可以有自己的标题(Title)
     并且不必让用户指定偏好
[java]  view plain copy
  1. Intent intent = new Intent();  
  2. intent.setAction(Intent.ACTION_CHOOSER);   
  3. intent.putExtra(Intent.EXTRA_TITLE, "my chooser");  
  4. intent.putExtra(Intent.EXTRA_INTENT,   
  5.         new Intent(Intent.ACTION_GET_CONTENT)  
  6.         .setType("*/*")  
  7.         .addCategory(Intent.CATEGORY_OPENABLE)  
  8.         );  
  9.   
  10. startActivityForResult(intent, 2);  

11 选取activity,返回的activity可在返回的intent.getComponent()中得到
[java]  view plain copy
  1. Intent intent = new Intent();  
  2. intent.setAction(Intent.ACTION_PICK_ACTIVITY);   
  3. intent.putExtra( Intent.EXTRA_INTENT,   
  4.         new Intent(Intent.ACTION_GET_CONTENT)  
  5.         .setType("*/*")  
  6.         .addCategory(Intent.CATEGORY_OPENABLE)  
  7.         );  
  8. startActivityForResult(intent, 3);  

12 启动搜索,在以下示例代码中,"ANDROID"为要搜索的字符串
     当执行这段代码后, 会在系统的Chooser中显示可以用于搜索的程序列表
[java]  view plain copy
  1. Intent intent = new Intent();  
  2. intent.setAction(Intent.ACTION_SEARCH);     //启动搜索  
  3. intent.putExtra(SearchManager.QUERY, "ANDROID");  
  4. startActivity(intent);  

13 启动WEB搜索,在以下示例代码中,"ANDROID"为要搜索的字符串
     当执行这段代码后, 会在系统的Chooser中显示可以用于搜索的程序列表,一般情况下系统中安装的浏览器都会显示出来
[java]  view plain copy
  1. Intent intent = new Intent();  
  2. intent.setAction(Intent.ACTION_WEB_SEARCH);     //启动搜索  
  3. intent.putExtra(SearchManager.QUERY, "ANDROID");  
  4. startActivity(intent);  


二  Android系统用于BroadcastReceiver的标准Intent


1 ACTION_TIME_TICK,系统时钟广播,系统每分钟都会发送一个这样的广播,
   如果在应用开发中,有些逻辑依赖于系统时钟,可以注册一个广播接收者
   这是一个受保护的action,只有系统才能发送这个广播
   并且,在manifest文件中注册的广播接收者不能接收到该广播,若要接收该广播,必须在代码中注册广播接收者
[java]  view plain copy
  1. registerReceiver(new BroadcastReceiver(){  
  2.   
  3.     @Override  
  4.     public void onReceive(Context context, Intent intent) {  
  5.         Log.i("xxxx", "TIME_TICK");  
  6.     }  
  7.       
  8. },   
  9. new IntentFilter(Intent.ACTION_TIME_TICK));  

2 在官方文档中,列出了以下标准的广播action


三  Android中的标准类别(category)


类别(category)一般配合action使用,以下为系统中的标准类别,由于数量过多,只能在使用到时再详细研究

这些常量用于在调用Intent.putExtra(String, Bundle)时作为键值传递数据,同样由于数量较多,在此只列出索引

Intent类中定义了一些以FLAG_开头的标志位,这些标志位中有的非常重要,会影响app中Activity和BroadcastReceiver等的行为。
以下为这些标志位的索引,是从官方文档上的截图。之后会对重要的标志加以详细分析



《Android 移动应用基础教程(Android Studio)(第2版)》【课本客观题】+【学习通2023春】【参考答案】 阅读详情

相关推荐

特征向量实战指南:数据降维、诊断与方向建模的核心工具

特征向量是线性代数与数据科学交汇的关键概念,本质描述矩阵在变换中保持方向不变的固有轴线。其原理源于方阵的特征方程求解,技术价值在于揭示数据内在结构、量化方向稳定性并支撑降维与可解释性分析。广泛应用于PCA主成分提取、图神经网络图分割、时序系统健康监测及自监督表征诊断等场景。本文聚焦真实项目中的特征向量应用逻辑——如何通过特征值衰减判断信息保留阈值,如何用热力图实现业务可解释投影,以及如何规避协方差矩阵奇异、方向随机、高维内存溢出等高频工程陷阱。

weixin_30455023的博客 357

Android系统中标准Intent的使用

一 Android系统用于Activity的标准Intent 1 根据联系人ID显示联系人信息 Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); //显示联系人信息 intent.setData(Uri.parse("content://contacts/people/492")); st

昨夜星辰的博客 4万+

Python+Appium实战:从环境搭建到构建企业级APP自动化框架

移动应用自动化测试的核心在于构建稳定且可维护的测试框架,而Python与Appium的组合是企业中常见的解决方案。Appium作为WebDriver协议的移动端实现,通过UiAutomator2驱动Android设备,实现与页面控件的灵活交互。借助PageObject模式封装页面行为,并结合pytest测试框架和Allure报告,可显著提升用例的可读性、复用性与失败追溯效率。这类技术广泛应用于电商、金融等业务的APP回归测试,尤其适用于处理复杂弹窗、动态页面和跨设备兼容等真实场景。本文以网易严选APP为实践

weixin_42537142的博客 251

Intent使用意图(一)添加Category

更加详细的介绍有关意图的使用,运用Category在应用中做出不同的效果

smxueer的专栏 1万+

Android调用相机与相册的方法

Android调用相机与相册的方法

是阿超 8036

系统intent的使用例子

系统intent的使用例子:google搜索,打开浏览器,打电话,发送短信,彩信,发邮件,打开摄像机,打开图库,播放音乐,打开录音等等,对应博客文章 Intent之系统Intent<一>

Android应用核心Intent

一个Android程序由多个组件组成,各个组件之间使用Intent进行通信。Intent对象中包含组件名称、动作、数据等内容。根据Intent中的内容,Android系统可以启动需要的组件。 Intent对象 即使一个最简单的Android应用程序,也是由多个核心组件构成的。如果用户需要从一个Activity切换到另一个,则必须使用Intent来激活。实际上,Activity、Service和Broadcast Receiver这3种核心组件都需要 使用Intent来进行激活。Intent用于相同或者不同应

IT瘾君子的博客 766

MTK metadata中AF模块的移除与配置调整

本文详细介绍了在MTK平台Camera开发中如何移除metadata中的AF(自动对焦)模块。通过系统清理MTK_CONTROL_AF_REGIONS、MTK_CONTROL_MAX_REGIONS等关键配置项,并调整对焦模式及硬件特性声明,确保定制化设备在禁用自动对焦功能后的稳定运行。

q1w3e5r7t9y的博客 570

Android期末复习篇_传智课后习题以及答案(选择、填空、判断、简答、编码题)

写在前面 此为移动应用开发传智课后习题及答案,供期末复习使用,注意 答案仅供参考 加粗题目为强调 题型涉及:选择、判断、填空、简答、编程题 另8章习题及答案汇总:Android期末复习篇_8章节练习题附答案 另传智错题记录:Android期末复习篇_传智平台错题小结 目录 1.1习题 1.2习题 1.3习题 1.4习题 1.5习题 1.6习题 1.7习题 1.8习题 1.1 习题 一、 填空题 1、 Android 是 Google 公司基于__Linux____平台开发的手机及平板电脑的__

xiaosi的博客 1万+

MCP4728 电路及stm32F103程序移植

写在前面 通过优快云查到一些MCP4728 的程序,结合程序及datasheet对于驱动的描述,理清了思路 感谢开路者! MCP4728的电路比较简单,见下文描述 应用电路 datasheet: 实际测试电路: SCL接stm32的PB10,SDA接PB11 RDY/BSY引脚和LDCA引脚,悬空 解释见截图: MCP4728地址 选择任意输出通道写入DAC输入寄存器 应用程序 int mcp4728_write_all_channel(float vol1, float vol2, fl

u013074298的专栏 5427

三维重建之条纹投影结构光(一)

该系列为条纹投影结构光学习笔记,一共分为四篇。第一篇记录文献阅读的笔记,对重要知识点进行摘录介绍。 本篇以理论知识推导为主,主要从以下三个方面进行介绍,首先介绍条纹投影的三角测量原理;然后介绍相位主值的求解和相位展开;最后介绍相位和高度的模型,即相高模型。本篇博文不涉及具体的代码实现。 条纹投影结构光测量原理 ...

beyond951的博客 3万+

Android -- 每日一问:Activity的启动模式(launchMode)有哪些,有什么区别?

每日一问:Activity的启动模式(launchMode)有哪些,有什么区别?

Kevin Learn Android 689

C++游戏开发实战:从零构建局域网联机对战系统(附完整代码解析)

本文详细介绍了如何使用C++开发局域网联机对战游戏系统,涵盖从环境搭建到实战代码解析的全过程。重点讲解了Winsock库的应用、Socket通信原理、服务端与客户端开发技巧,以及性能优化和安全防护方案,帮助开发者快速掌握C++游戏开发的核心技术。

weixin_42524945的博客 445

Android人脸检测实战:低延迟、高鲁棒性与真机适配全解析

人脸检测是移动计算机视觉的基础能力,其核心在于在资源受限的Android设备上实现稳定定位、关键点拟合与实时响应。技术原理涵盖图像预处理、多尺度候选框生成、坐标系对齐及模型推理优化;关键价值体现在低延迟(<30ms)、强鲁棒性(支持戴口罩、逆光、侧脸)与离线可用性;典型应用场景包括AR贴纸、活体认证、虚拟背景和嵌入式门禁系统。本文聚焦Android平台真实落地挑战,深入解析ML Kit配置陷阱、CameraX全链路坐标转换、TFLite自定义模型部署及国产ROM兼容策略,覆盖从骁龙到麒麟、从Android

weixin_34161083的博客 438

RRAM/ Near Memory Computing (NMC) Survey - Reading Notes 0707

Reading Notes of Resistive Random Access Memory – Day 2 Chapter 3 RRAM Characterization and Modeling Overview of RRAM Physical Mechanism A general picture for the filamentary switching mechanism. Forming: 对本征RRAM样本,加电压VformingV_{forming}Vforming​,中间氧化层的O

Blog of Lucky H6 992

Sigrity Power DC Single-BoardPackage IR Drop Analysis模式进行单板压降仿真分析操作指导

如果需要单独对某个via设置参数,右侧选择Setup by padstack,下方下拉选择某个via,单独设置参数即可。举例:板厚1.6mm,内层1OZ(1.2mil,即0.03mm),铜皮宽度1mm,20度温升,允许通流I为2.5A。目的是模拟实际情况,via的孔壁电镀1mil,中间是空心的,让via不完全被填充金属成为实心via。Upper/lower Tolerance:上下公差,设置为5%,也就是压降允许的范围。电流密度计算公式:J=I/A(J为电流密度,I为电流,A为横截面积)

weixin_54787054的博客 697

Android面试,程序员何苦为难程序员!

Android的开发水平那是杠杠的。有一次想跳槽,面试一家公司时就被问了Activity启动模式的问题,微胖的面试官问我怎么看待四种启动模式,我吧嗒吧嗒后,面试官接着问我Launcher这个应用的Home界面(一般是指Launcher.java)用的是哪种模试。 我自信的回答用singleInstance,要不是面试官早有准备,估计他都要被我的自信弄得要开始怀疑人生。我的相法很简单,认为它全局只...

粉丝交流群:957013433 270

YOLO26改进 - SPPF模块 | 发论文神器!LSKA注意力改进SPPF,增强多尺度特征提取能力,高效涨点!!!

本文介绍了Large Separable Kernel Attention (LSKA)模块及其在YOLO26中的结合应用。LSKA旨在解决Visual Attention Networks (VAN)使用大内核卷积时的计算效率问题,通过将2D深度卷积层的卷积核分解为级联的水平和垂直1-D卷积核,降低了计算复杂度和内存占用,且使VAN更关注物体形状。我们将集成LSKA的SPPF_LSKA模块引入YOLO26,大量实验表明,改进后的模型在对象识别、检测、分割和稳健性测试上表现出色。

魔改工程师的博客 253

面试题kkk

这篇文章摘要主要涵盖了Android开发中的核心知识点和技术难点,包括数据结构、Java与Kotlin语言特性、多线程与并发、内存管理、安卓组件与UI、IPC通信、数据库、多媒体处理、设计模式、性能优化、跨端开发等多个方面。文章详细解析了常见数据结构的使用与实现、JVM机制、内存泄漏分析与解决方案、Activity生命周期、事件分发机制、Handler原理、音视频处理、设计模式应用等核心内容,并提供了实际项目中的技术卡点与解决方案。此外,还涉及了性能优化策略、跨端开发差异、技术方案设计思路以及Git常用命令

mix39的博客 931

【车载以太网】Eth Stack Bringup

摘要:本文基于AUTOSAR架构,详细介绍了在TC3xx硬件平台上实现EthStack Bringup的全过程。作者通过配置MCAL和Davinci工具,完成了EthTrcv、Eth、EthIf、EthSM和TcpIp等模块的集成,并解决了16字节内存对齐和以太网速率不匹配等问题。最终实现了PC端与开发板的Ping通,并通过WireShark验证了数据包收发。文章总结了调试中的关键问题与解决方案,强调了实践的重要性,为后续EthStack的深入分析奠定了基础。

qq_36056498的博客 182

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Android Studio学习疑点(一)

Android Studio学习疑点 关于Android Studio中AndroidManifest的action与category问题

sinat_28657811的博客 470

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

android 应用组件[通用 Intent---检索特定类型的文件] 十一

如需请求用户选择文档或照片等文件并向您的应用返回文件引用,请使用 ACTION_GET_CONTENT 操作并指定所需 MIME 类型。 向您的应用返回的文件引用对 Activity 的当前生命周期而言是瞬态引用,因此如果您想稍后进行访问,就必须导入可在稍后读取的副本。用户还可利用此 Intent 在进程中创建新文件(例如,用户可以不选择现有照片,而是用相机拍摄新照片)。 传送至您的 o

燃烧那滴泪的专栏 1021

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Android基础——从存储介质打开文档

从存储介质打开文档使用存储访问框架(SAF-Storage Access Framework)打开文件概览控制流程创建客户端搜索文档搜索结果检查文档元数据打开文档BitmapInputStream创建文档删除文档编辑文档保存权限打开虚拟文件补充——Uri获取对应本地绝对地址 使用存储访问框架(SAF-Storage Access Framework)打开文件 Android 4.4(api lev...

Zen@sz 博客 4万+

以 Android 11 为目标平台的应用

现象:cordova在添加插件的时候,报错:路径错误,或者名称错误,请检查。。。 Failed to fetch plugin git+https://git.-plugin.git via registry. Probably this is either a connection problem, or plugin spec is incorrect. Check your connection and plugin name/version/URL. Failed to get absolute

Goals1989的博客 1014

android 应用组件[通用 Intent---打开特定类型的文件] 十二

在 Android 4.4 或更高版本上运行时,您可以不必检索必须导入应用的文件副本(使用 ACTION_GET_CONTENT 操作),而是使用 ACTION_OPEN_DOCUMENT 操作并指定 MIME 类型,请求打开由另一个应用管理的文件。如果还需要允许用户创建应用可写入的新文档,可改用 ACTION_CREATE_DOCUMENT 操作。例如,ACTION_CREATE_DOCUM

燃烧那滴泪的专栏 2849

android intent选择文件,通过Android上的Intent选择任何类型的文件

我想为可以返回任何类型的文件的应用程序启动一个intentchooser目前我使用(我从Android电子邮件源代码复制的文件附件)Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.addCategory(Intent.CATEGORY_OPENABLE);intent.setType("*/*");Intent i = In...

weixin_32223625的博客 1163
上一篇: app是怎么炼成的
下一篇: Android开发中adb命令的常用方法
KingLearnJava
博客等级 码龄12年 93粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值