Android活动之Intent

Intent

Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可被用于启动活动、启动服务以及发送广播等场景,

显示intent

  • 第一个参数Context要求提供一个启动活动的上下文
  • 第二个参数Class则是指定想要启动的目标活动,

专门用于启动活动

startActivity()方法

配置好第二个活动后,在主活动里配置以下,主要是Intent那两行

        button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {
//                Toast.makeText(MainActivity.this, "you clicked 1", Toast.LENGTH_SHORT).show();Intent intent = new Intent(MainActivity.this, second_activity.class);startActivity(intent);}});

隐式Intent

它并不明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的action和category等信息,然后交由系统去分析这个Intent,并帮我们找岀合适的活动去启动。

怎么操作呢?

通过在标签下配置的内容,可以指定当前活动能够响应的action和category,打开AndroidManifest.xml

        <activityandroid:name=".second_activity"android:exported="true"><intent-filter><action android:name="com.example.intent.MainActivity"/><category android:name="android.intent.category.DEFAULT"/></intent-filter></activity>

只有<action>和〈category〉中的内容同时能够匹配上Intent中指定的action和category时,这个活动才能响应该Intent

应用程序打开浏览器
      Intent intent = new Intent(Intent.ACTION_VIEW);intent.setData(Uri.parse("http://www.baidu.com"));startActivity(intent);

setData()接收一个url对象,主要用于指定当前Intent正在操作的数据,而这些数据通常都是以字符串的形式传入到Uri.parse()方法中解析产生的。

标签
  • android:scheme 用于指定数据的协议部分,如上例中的http部分。
  • android :host 用于指定数据的主机名部分,如上例中的www.baidu.com部分
  • android:port 用于指定数据的端口部分,一般紧随在主机名之后
  • android:path 用于指定主机名和端口之后的部分,如一段网址中跟在域名之后的内容
  • android :mimeType 用于指定可以处理的数据类型,允许使用通配符的方式进行指定
传递数据

Intent中提供了一系列putExtraO方法的重载,可 以把我们想要传递的数据暂存在Intent中,启动了另一个活动后,只需要把这些数据再从Intent中取岀就可以了。

以上所有代码合集:

        button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {/*** 响应Toast*/
//                Toast.makeText(MainActivity.this, "you clicked 1", Toast.LENGTH_SHORT).show();/*** 显式Intent*/
//                Intent intent = new Intent(MainActivity.this, second_activity.class);
//                startActivity(intent);/*** 隐式intent*/
//                Intent intent = new Intent("com.example.intent.MainActivity");
//                intent.addCategory("com.example.intent.MY_CATEGORY");
//                startActivity(intent);/*** 打开浏览器*/
//                Intent intent = new Intent(Intent.ACTION_VIEW);
//                intent.setData(Uri.parse("http://www.baidu.com"));
//                startActivity(intent);/*** 调动拨号*/
//                Intent intent = new Intent(Intent.ACTION_DIAL);
//                intent.setData(Uri.parse("tel: 10086"));
//                startActivity(intent);/*** 传递数据*/
//                String data =  "hello SecondActivity";
//                Intent intent = new Intent(MainActivity.this, second_activity.class);
//                intent.putExtra("extra_data", data);
//                startActivity(intent);}});

传递数据时另外一个活动代码:

        /*** 接受数据代码*/Intent intent = getIntent();String data = intent.getStringExtra("extra_data");Log.d("SecondActivity", data);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/2673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

低代码开发之腾讯云微搭工具

低代码开发之腾讯云微搭工具 微搭简介诞生缘由开发模式如何创建组件模块介绍实例讲解url传参级联联动使用事件其他方法调用数据源方法 callDataSource触发流程 callProcess 数据模型方法V2 微搭简介 微搭&#xff08;WeDa&#xff09;&#xff0c;全称是腾讯云微搭低代码开发平…

设计模式- 适配器模式(Adapter Pattern)结构|原理|优缺点|场景|示例

设计模式&#xff08;分类&#xff09; 设计模式&#xff08;六大原则&#xff09; 创建型&#xff08;5种&#xff09; 工厂方法 抽象工厂模式 单例模式 建造者模式 原型模式 结构型&#xff08;7种&#xff09; 适配器…

【Python】深入解析Python中的eval()函数

你是魔鬼中的天使 所以送我心碎的方式 是让我笑到最后一秒为止 才发现自己胸口插了一把刀子 你是魔鬼中的天使 让恨变成太俗气的事 从眼里流下谢谢两个字 尽管叫我疯子 不准叫我傻子 &#x1f3b5; 田馥甄《魔鬼中的天使》 Python的eval()函数是一个强大而…

Powershell 一键安装 virtio_qemu_agent

前言 qemu-guest-agent qemu-guest-agent是一个助手守护进程,安装在客户机中。它用于在主机和客户端之间交换信息,并在客户端执行命令。 在Proxmox VE中,qemu-guest-agent主要用于三件事: 正确关闭客户机,而不是依赖于ACPI命令或windows策略在进行备份/快照时冻结客户机…

plt.show()输出<Figure size 1200x800 with 1 Axes>没有展示出图片在notebook里

解决方法如下&#xff1a; 在Jupyter Notebook中&#xff0c;如果使用plt.show()没有直接显示图像&#xff0c;可能是由于某些设置或限制导致的。您可以尝试使用%matplotlib inline魔术命令来确保图像能够直接显示在Notebook中。请在Notebook的第一个单元格中执行以下命令&…

世界首台能探测单个原子的量子模拟器,诞生!

量子物理学依赖于高精度的传感技术&#xff0c;以便深入研究材料的微观特性。近期开发的模拟量子处理器显示出量子气体显微镜在原子层面理解量子系统方面的强大潜力。这种显微镜可以生成极高分辨率的量子气体图像&#xff0c;甚至能够检测到单个原子。 在西班牙巴塞罗那的ICFO&…

flutter android studio升级java java17

oricle 网站下载jdk 17sudo dpkg -i 安装包。到android-studio 目录&#xff0c; mv jbr jbr_bak ln -s /usr/lib/jvm/jdk-17-oracle-x64 jre ln -s /usr/lib/jvm/jdk-17-oracle-x64 jbr 更新.bashrc里面 JAVA_HOMEusr/lib/jvm/jdk-17-oracle-x64 jresource .bashrc然后运行f…

156.25MHz的差分晶体振荡器SG3225VEN

数字经济正焕发出勃勃生机,云计算,大数据,5G和人工智能等新技术的发展给行业带来了新的机遇。无论是在数据中心内部还是在数据中心之间,提供低成本,高速的100/200/400G小型化解决方案都是光模块的发展需求。为了使DSP稳定工作&#xff0c;需要一个小型的封装晶体振荡器来提供参…

书生·浦语大模型第二期实战营第六节-Lagent AgentLego 智能体应用搭建 笔记和作业

来源&#xff1a; 视频教程&#xff1a;Lagent & AgentLego 智能体应用搭建 文字教程&#xff1a; Lagent Web Demo&#xff1a;https://github.com/InternLM/Tutorial/blob/camp2/agent/lagent.md#1-lagent-web-demo AgentLego&#xff1a; https://github.com/Inter…

ComfyUI学习旅程

一、模型文件&#xff08;Checkpoint&#xff09; 首先它很大&#xff0c;这些文件是你从huggingface或者civitai下载而来的&#xff0c; 所以这些大文件如 .ckpt 或 .safetensors &#xff0c;实际上包含了什么内容呢&#xff1f; 它包含了包含了三种不同模型的权重&#x…

做大模型产品,如何设计prompt?

做GenAI产品&#xff0c;除了要设计好的AI任务流程&#xff0c;合理的拆分业务以外&#xff0c;最重要的就是写好prompt&#xff0c;管理好prompt&#xff0c;持续迭代prompt。 prompt一般有两种形式&#xff1a;结构化prompt和对话式prompt。 结构化prompt的优点是通过规范的…

Odoo:全球排名第一的免费开源PLM管理系统介绍

概述 利用开源智造OdooPLM产品生命周期管理应用&#xff0c;重塑创新 实现产品生命周期管理数字化&#xff0c;高效定义、开发、交付和管理创新的可持续产品&#xff0c;拥抱数字化供应链。 通过开源智造基于Odoo开源技术平台打造数字化的产品生命周期管理&#xff08;PLM&am…

allegro输出正反面bom

不是前面两条命令&#xff0c;而是component report

【Linux驱动层】iTOP-RK3568学习之路(五):并发与竞争

本人在听讯为的课时&#xff0c;哪怕是照抄&#xff0c;编译后&#xff0c;这里的代码执行不了&#xff0c;只能做笔记了。 一、原子操作 ​ 借用原子是"化学反应中最小的微粒“这个概念&#xff0c;用原子来表述—个操作是不可以被打断&#xff0c;拆分的操作。简单&…

李沐65_注意力分数——自学笔记

Additive Attention 等价于将key和value合并起来后放入到一个隐藏大小为h输出大小为1的单隐藏层 总结 1.注意力分数是query和key的相似度&#xff0c;注意力权重是分数的softmax结果 2.两种常见的分数计算: &#xff08;1&#xff09;将query和key合并起来进入一个单输出单…

Linux 防火墙端口设置常用命令

应对安全检查,服务器启用防火墙,关闭端口访问,以IP白名单方式对内开发 在Linux系统中设置防火墙端口通常涉及到以下步骤。这里以常用的firewalld服务为例进行说明,适用于大多数现代Linux发行版如RHEL、CentOS、Fedora等。如果您使用的是较旧的系统或配置了其他防火墙软件(…

模块三:二分——852.山脉数组的峰顶索引

文章目录 题目描述算法原理解法一&#xff1a;暴力查找解法二&#xff1a;二分查找 代码实现暴力查找二分——C二分——Java 题目描述 题目链接&#xff1a;852.山脉数组的峰顶索引 算法原理 解法一&#xff1a;暴力查找 峰顶&#xff1a;比左右区间都大 遍历整个数组&…

谷歌搜索SEO优化需要做什么?

最基本的要求&#xff0c;网站基础要优化好&#xff0c;让你的网站更加友好地服务于用户和搜索引擎&#xff0c;首先你要保证你的网站也适配手机端&#xff0c;现在手机端&#xff0c;如果你的网站在手机上打开慢&#xff0c;或者没有适配手机端&#xff0c;让用户用手机看着电…

激励与约束的协同效应—人力资源管理的新趋势

随着全球经济一体化的深入发展&#xff0c;企业间的竞争愈发激烈&#xff0c;人力资源作为企业最宝贵的资源之一&#xff0c;其管理的重要性日益凸显。在这样的背景下&#xff0c;激励与约束的协同效应成为了人力资源管理的新趋势&#xff0c;它不仅能够提高员工的工作积极性&a…

网络安全之WebShell截获

不知道这是哪个大哥的手笔有没有认领的20240424十一点四十分左右 大哥计算机的具体信息贴上了&#xff0c;还好大哥没有put成功&#xff0c;返回405&#xff01; IP地址 31.49.67.43:36668 MAC地址 80:05:88:48:37:b5ToolB的MAC地址厂商信息查询网站&#xff1a;https://tool…