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管理,可以对这个问题…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...
