Android intent的一些小使用
目录:
- 1. Test5.java
- 2. activity_main5.xml
- 3. Empty.java (这个是用来带参数打开Activity按钮用的)
- 4. activity_empty.xml
- 5. 总结
一些基本的问题就不进行说明了,直接上代码!!!
// 最后的隐形intent和带返回值没有解决!!!
1. Test5.java
package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.content.ComponentName;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class Test5 extends AppCompatActivity {Button Call, Browser, Note, Set, Photo, JumpDesket, XianNo, GetReturn, GetNumber, Yin;//设置一些按钮名称@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_test5);// 对按钮进行赋予功能Call = findViewById(R.id.buttonCall);Note = findViewById(R.id.buttonNote);Browser = findViewById(R.id.buttonBrowser);Set = findViewById(R.id.buttonSet);Photo = findViewById(R.id.buttonPhotograph);JumpDesket = findViewById(R.id.buttonJumpDesk);XianNo = findViewById(R.id.buttonXianNo);GetReturn = findViewById(R.id.buttonGetReturn);GetNumber = findViewById(R.id.buttonGet);Yin = findViewById(R.id.buttonYin);// 赋予点击能力Call.setOnClickListener(onClickListener);Note.setOnClickListener(onClickListener);Browser.setOnClickListener(onClickListener);Set.setOnClickListener(onClickListener);Photo.setOnClickListener(onClickListener);JumpDesket.setOnClickListener(onClickListener);XianNo.setOnClickListener(onClickListener);GetReturn.setOnClickListener(onClickListener);GetNumber.setOnClickListener(onClickListener);Yin.setOnClickListener(onClickListener);}// 对按钮进行写方法private final View.OnClickListener onClickListener = new View.OnClickListener() {@Overridepublic void onClick(View view) {//点击事件Button button = (Button) view; //把点击获得的id信息传递给buttontry {if (button.getId() == R.id.buttonCall) { // 打电话Intent intent = new Intent();intent.setAction(Intent.ACTION_DIAL); //调用拨号面板intent.setData(Uri.parse("tel:110")); //设置要拨打的号码startActivity(intent);} else if (button.getId() == R.id.buttonNote) { // 发短信Intent intent = new Intent();intent.setAction(Intent.ACTION_SENDTO); //调用发送短信息intent.setData(Uri.parse("smsto:110XXXXXX")); //设置要发送的号码,自己设计就好intent.putExtra("sms_body", "Welcome to Android!"); //设置要发送的信息内容startActivity(intent);} else if (button.getId() == R.id.buttonBrowser) { // 浏览器Intent intent = new Intent();// 设置浏览器地址intent.setData(Uri.parse("https://blog.csdn.net/weixin_51395608?type=blog"));// 设置动作intent.setAction(Intent.ACTION_VIEW);startActivity(intent);} else if (button.getId() == R.id.buttonSet) { // 设置Intent intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);startActivity(intent);} else if (button.getId() == R.id.buttonPhotograph) { // 拍照Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);startActivity(intent);} else if (button.getId() == R.id.buttonJumpDesk) { // 跳转到桌面Intent intent = new Intent();// 设置action动作属性intent.setAction(Intent.ACTION_MAIN);// 设置categoty种类显示主屏幕intent.addCategory(Intent.CATEGORY_HOME);startActivity(intent);} else if (button.getId() == R.id.buttonXianNo) { // 显性不带参数Intent intent = new Intent(Test5.this, MainActivity.class);startActivity(intent);} else if (button.getId() == R.id.buttonYin) { // 隐形 待完成Intent intent = new Intent();// 未完成startActivity(intent);} else if (button.getId() == R.id.buttonGet) { // 带参数Intent intent = new Intent(Test5.this, Empty.class);intent.putExtra("data", "我带着一些数据来了!!!");startActivity(intent);} else if (button.getId() == R.id.buttonGetReturn) { // 带返回值 // 未完成!!!!Intent intent = new Intent(Test5.this, Empty.class); //跳转设置Bundle extras = new Bundle();extras.putString("key", "value");
// startActivityForResult(intent, 1, extras); //带返回的跳转 requestCode = 1} else {Log.e("orror", "未知按钮组件调用");}} catch (Exception e) {Log.e("No", "main,error");}}};}
2. activity_main5.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".Test5"><TextViewandroid:id="@+id/textView4"android:layout_width="276dp"android:layout_height="71dp"android:text="Intent的使用"android:textSize="48sp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"tools:layout_editor_absoluteY="17dp" /><LinearLayoutandroid:id="@+id/linearLayout"android:layout_width="282dp"android:layout_height="495dp"android:orientation="vertical"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.496"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.444"><Buttonandroid:id="@+id/buttonCall"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="打电话"tools:layout_editor_absoluteX="24dp"tools:layout_editor_absoluteY="104dp" /><Buttonandroid:id="@+id/buttonNote"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="发短信"tools:layout_editor_absoluteX="24dp"tools:layout_editor_absoluteY="152dp" /><Buttonandroid:id="@+id/buttonBrowser"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="打开浏览器"tools:layout_editor_absoluteX="25dp"tools:layout_editor_absoluteY="200dp" /><Buttonandroid:id="@+id/buttonSet"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="设置"tools:layout_editor_absoluteX="24dp"tools:layout_editor_absoluteY="248dp" /><Buttonandroid:id="@+id/buttonPhotograph"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="拍照"tools:layout_editor_absoluteX="24dp"tools:layout_editor_absoluteY="296dp" /><Buttonandroid:id="@+id/buttonJumpDesk"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="转到桌面"tools:layout_editor_absoluteX="24dp"tools:layout_editor_absoluteY="344dp" /><Buttonandroid:id="@+id/buttonXianNo"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="打开另一个Activity(显性,不带参数)"tools:layout_editor_absoluteX="24dp"tools:layout_editor_absoluteY="394dp" /><Buttonandroid:id="@+id/buttonYin"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="打开另一个Activity(隐性)"tools:layout_editor_absoluteX="24dp"tools:layout_editor_absoluteY="442dp" /><Buttonandroid:id="@+id/buttonGet"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="带参数打开另一个Activity"tools:layout_editor_absoluteX="24dp"tools:layout_editor_absoluteY="490dp" /><Buttonandroid:id="@+id/buttonGetReturn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="带返回值打开另一个Activity"tools:layout_editor_absoluteX="25dp"tools:layout_editor_absoluteY="540dp" /></LinearLayout></androidx.constraintlayout.widget.ConstraintLayout>
效果(没有专门去设计):

3. Empty.java (这个是用来带参数打开Activity按钮用的)
package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;public class Empty extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_empty);String currentType = getIntent().getStringExtra("data");TextView t = findViewById(R.id.textVE);t.setText(currentType);}
}
4. activity_empty.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".Empty"><TextViewandroid:id="@+id/textVE"android:layout_width="243dp"android:layout_height="361dp"android:background="#FFFFFF"android:text="TextView"android:textColor="#4A4A4A"android:textSize="48sp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.283" /><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="返回值"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/textVE"app:layout_constraintVertical_bias="0.419" />
</androidx.constraintlayout.widget.ConstraintLayout>
效果:

5. 总结
不是很难!!!
相关文章:
Android intent的一些小使用
目录: 1. Test5.java2. activity_main5.xml3. Empty.java (这个是用来带参数打开Activity按钮用的)4. activity_empty.xml5. 总结 一些基本的问题就不进行说明了,直接上代码!!! // 最后的隐形intent和带返回值没有解决…...
Android 关闭 SELinux 释放权限限制
Android 关闭 SELinux 释放权限限制 接前一篇,后续收到客户需求想要关闭 SELinux 放开安全权限,SELinux 是 Linux 的一个安全子系统,SELinux 主要作用是最大限度地减小系统中服务进程可访问的资源,我们想要放开安全权限只需处理 …...
国际腾讯云自主拼装直播 URL教程!!!
注意事项 创建转码模板 并与播放域名进行 绑定 后,转码配置后的直播流,需将播放地址的 StreamName 拼接为 StreamName_转码模板名称,更多详情请参见 播放配置。 前提条件 已注册腾讯云账号,并开通 腾讯云直播服务。 已在 域名…...
AQS 为什么要使用双向链表?
双向链表 双向链表的特点是它有两个指针,一个指针指向前置节点,一个指针指向后继节点。所以,双向链表可以支持 常量 O(1) 时间复杂度的情况下找到前驱结点,基于这样的特点。双向链表在插入和删除操作的时候,要比单向链…...
Golang 自定义函数库(个人笔记)
1.用字符串连接切片元素(类似php implode) package mainimport ("fmt""strconv""strings" )func main() {data : []int{104, 101, 108, 108, 111}fmt.Println(IntSliceToString(data, ",")) }func IntSliceToS…...
openlayers 地图组件封装
openlayers 地图组件封装 <template><div class"mapBox"><!-- 地图 --><div ref"map" id"map" class"map"></div><!-- 点位弹窗 --><div id"popup" class"ol-popup">…...
【算法设计与分析】—— 分治算法
🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL:…...
Unable to find GatewayFilterFactory with name TokenRelay
目录 问题分析解决方案参考文档开源项目微服务商城项目前后端分离项目 问题分析 Spring Cloud Gateway 网关作为代理资源服务器,需要将 JWT 传递给下游资源服务器,下面是网关的配置 spring:cloud:gateway:discovery:locator:enabled: true # 启用服务发…...
竞赛 深度学习大数据物流平台 python
文章目录 0 前言1 课题背景2 物流大数据平台的架构与设计3 智能车货匹配推荐算法的实现**1\. 问题陈述****2\. 算法模型**3\. 模型构建总览 **4 司机标签体系的搭建及算法****1\. 冷启动**2\. LSTM多标签模型算法 5 货运价格预测6 总结7 部分核心代码8 最后 0 前言 ǵ…...
git基础及原理相关解析
git入门 结构基本操作help提交分支git merge和git rebase对比 拉取 git文档 结构 工作区:电脑目录中能看到的文件暂存区:使用git add *操作提交文件的位置,一般位于.git\index,这个文件里面存储了当前位于暂存区的所有文件的校验…...
【Python机器学习】零基础掌握isotonic_regression等渗回归
遇到了数据不一致的困扰吗? 在市场分析、医疗研究或者其他数据密集型领域,经常会遇到一个问题:如何从一组不完全一致或者有噪音的数据中提取出有用的信息?例如,假设一家餐厅想要根据顾客的评分和消费金额来调整菜单。 顾客评分消费金额(元)顾客年龄访问次数4.21002533.…...
支持宏的文本编辑器提高生产力
场景 我们知道很多文本/代码编辑器支持宏的录制、重放、保存,甚至可以与快捷键命令结合的功能,快速实现重放宏的操作。 如果您的编辑器支持宏这项功能,请多使用 😃 宏化自动步骤相当于对编辑器的自动化编程,宏录制可…...
JS中面向对象的程序设计
面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。但在ECMAScript 中没有类的概念,因此它的对象也与基于类的语言中的对象有所不…...
云耀服务器L实例搭配负载均衡部署Linux 可视化宝塔面板
云耀服务器L实例搭配负载均衡部署Linux 可视化宝塔面板 1. 华为云云耀服务器L实例介绍 华为云云耀服务器L实例是一种高性能、高可靠性的云服务器实例,适用于大规模企业级应用、大数据分析等场景。它基于华为最新一代的硬件虚拟化技术,提供了更高的计算…...
mac pycharm配置autopep8
mac终端安装autopep8 pip install autopep8pycharm配置autopep8 在Pycharm中点击 File–Settings—Tools–External Tools, 点击图中绿色加号图标添加扩展工具,填写相关参数配置。 Name:Autopep8(可以随便取) Tools setting&…...
Vue $nextTick
我们用一个例子来说明$nextTick的作用: 我们用一个变量showIpt来控制input框的显示和隐藏,默认是隐藏。 我们点击一个按钮后显示这个输入框的同时,input还要自动获取焦点。 但是我们点击按钮过后并没有生效。 为什么?this.show…...
linux配置dns
服务器有网,ping IP 地址可以ping的通,但是ping网站域名ping不通,需要配置dns 使用公共dns服务器 1、设置dns服务器地址 vi /etc/resolv.conf 将谷歌的dns服务器地址添加到dns解析配置中 nameserver 8.8.8.8 nameserver 8.8.4.4 保存后&…...
12 原子性|可见性|有序性|JMM内存模型
1 并发三大特性 1.1 原子性 一个或多个操作,要么全部执行,要么全部不执行。Java中,对基本数据类型的变量的读取和赋值操作是原子性操作,但不采取任何原子性保障措施的自增操作不是原子性的,如:i public c…...
pytorch代码复现1(基础知识)
创建矩阵 全零矩阵 In [4]: import torch torch.__version__ xtorch.empty(5,3) xOut[4]: tensor([[0.0000e00, 0.0000e00, 4.6430e-23],[1.4013e-45, 1.2612e-44, 0.0000e00],[3.5733e-43, 0.0000e00, 0.0000e00],[0.0000e00, 0.0000e00, 0.0000e00],[0.0000e00, 0.0000e00, 0…...
PostGreSQL模式schema
问题引入 之前在做数据库设计时,经常会忽略schema模式,直接在数据库下的public模式下建立各类数据表。如果数据表命名不够规范,后期寻找某张表时就会比较麻烦。通过 所幸,PostgreSQL 的模式schema管理,可以对这个问题…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
