Unity打开安卓设备不同的设置面板
1,打开安卓设备不同的设置面板,我还贴心的把Android官网的链接放下面了
2,使用也很方便:unity按钮事件上拖这个脚本,注册MyOpenAndroidSettings方法,参数 填 和枚举值相应的数字

//
功能:打开安卓设备不同的设置面板//
//
using UnityEngine;
using UnityEngine.UI;public class OpenAndroidSettingsPanel : MonoBehaviour
{AndroidJavaObject currentActivity; //Android 官方文档 执行各种操作和打开不同的设置面板 的链接//https://developer.android.com/about/versions/12/reference/common-intents-31?hl=zh-cnpublic enum AndroidSettingsPanel{HOME_SETTINGS,//设置启动器SETTINGS,//设置面板WEB_SEARCH,//浏览器WIFI_SETTINGS,//Wi-Fi 设置面板BLUETOOTH_SETTINGS, //蓝牙设置面板DATA_ROAMING_SETTINGS, //移动网络设置面板APPLICATION_SETTINGS,//应用程序管理设置面板DISPLAY_SETTINGS,//显示设置面板DATE_SETTINGS,//日期和时间设置面板INPUT_METHOD_SETTINGS,//语言和输入法设置面板LOCATION_SOURCE_SETTINGS,//位置设置面板INTERNAL_STORAGE_SETTINGS,//存储设置面板NOTIFICATION_SETTINGS,//通知设置面板IGNORE_BATTERY_OPTIMIZATION_SETTINGS,//电池优化设置面板ACCESSIBILITY_SETTINGS,//无障碍服务设置面板NETWORK_OPERATOR_SETTINGS,//移动网络运营商设置面板SOUND_SETTINGS,//声音设置面板SECURITY_SETTINGS,//安全设置面板}#region 测试int index;public InputField inputField;/// <summary>/// 打开相应的设置面板/// </summary>public void MyOpenAndroidSettings(){string action = SetAction(index);// 创建一个Android的Intent对象,并指定要启动的ActivityAndroidJavaObject intentObj = new AndroidJavaObject("android.content.Intent");intentObj.Call<AndroidJavaObject>("setAction", action);// 启动ActivitycurrentActivity.Call("startActivity", intentObj);}#endregionprivate void Start(){#region 测试inputField.onEndEdit.AddListener((str) =>{index = int.Parse(str);Debug.Log(index);});#endregion// 获取Unity的当前活动(Activity)对象AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");}/// <summary>/// 设置action/// </summary>string SetAction(int androidSettingsPanel){switch ((AndroidSettingsPanel)androidSettingsPanel){case AndroidSettingsPanel.HOME_SETTINGS:return "android.settings.HOME_SETTINGS";case AndroidSettingsPanel.SETTINGS:return "android.settings.SETTINGS";case AndroidSettingsPanel.WEB_SEARCH:return "android.intent.action.WEB_SEARCH";case AndroidSettingsPanel.WIFI_SETTINGS:return "android.settings.WIFI_SETTINGS";case AndroidSettingsPanel.BLUETOOTH_SETTINGS:return "android.settings.BLUETOOTH_SETTINGS";case AndroidSettingsPanel.DATA_ROAMING_SETTINGS:return "android.settings.DATA_ROAMING_SETTINGS";case AndroidSettingsPanel.APPLICATION_SETTINGS:return "android.settings.APPLICATION_SETTINGS";case AndroidSettingsPanel.DISPLAY_SETTINGS:return "android.settings.DISPLAY_SETTINGS";case AndroidSettingsPanel.DATE_SETTINGS:return "android.settings.DATE_SETTINGS";case AndroidSettingsPanel.INPUT_METHOD_SETTINGS:return "android.settings.INPUT_METHOD_SETTINGS";case AndroidSettingsPanel.LOCATION_SOURCE_SETTINGS:return "android.settings.LOCATION_SOURCE_SETTINGS";case AndroidSettingsPanel.INTERNAL_STORAGE_SETTINGS:return "android.settings.INTERNAL_STORAGE_SETTINGS";case AndroidSettingsPanel.NOTIFICATION_SETTINGS:return "android.settings.NOTIFICATION_SETTINGS";case AndroidSettingsPanel.IGNORE_BATTERY_OPTIMIZATION_SETTINGS:return "android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS";case AndroidSettingsPanel.ACCESSIBILITY_SETTINGS:return "android.settings.ACCESSIBILITY_SETTINGS";case AndroidSettingsPanel.NETWORK_OPERATOR_SETTINGS:return "android.settings.NETWORK_OPERATOR_SETTINGS";case AndroidSettingsPanel.SOUND_SETTINGS:return "android.settings.SOUND_SETTINGS";case AndroidSettingsPanel.SECURITY_SETTINGS:return "android.settings.SECURITY_SETTINGS";}return null;}/// <summary>/// 打开相应的设置面板/// </summary>public void MyOpenAndroidSettings(int androidSettingsPanel){string action = SetAction(androidSettingsPanel);// 创建一个Android的Intent对象,并指定要启动的ActivityAndroidJavaObject intentObj = new AndroidJavaObject("android.content.Intent");intentObj.Call<AndroidJavaObject>("setAction", action);// 启动ActivitycurrentActivity.Call("startActivity", intentObj);}/// <summary>/// 打开日历面板/// </summary>public void MyOpenCalendarPanel(){AndroidJavaObject intentObj = new AndroidJavaObject("android.content.Intent");intentObj.Call<AndroidJavaObject>("setAction", "android.intent.action.MAIN");intentObj.Call<AndroidJavaObject>("addCategory", "android.intent.category.APP_CALENDAR");intentObj.Call<AndroidJavaObject>("setFlags", 0x10000000); // Intent.FLAG_ACTIVITY_NEW_TASKcurrentActivity.Call("startActivity", intentObj);}
}
相关文章:
Unity打开安卓设备不同的设置面板
1,打开安卓设备不同的设置面板,我还贴心的把Android官网的链接放下面了 2,使用也很方便:unity按钮事件上拖这个脚本,注册MyOpenAndroidSettings方法,参数 填 和枚举值相应的数字 // 功能:打开…...
低空经济+无人机:低空物资运输技术详解
随着科技的飞速发展和航空产业的日益壮大,低空经济已成为全球经济的重要组成部分。无人机作为低空经济的重要载体,其在低空物资运输领域的应用逐渐凸显,为物流、救援等多个领域带来了革命性的变革。 一、低空经济概述 低空经济是指在垂直高度…...
全场景智能终端RK3288主板在智能垃圾回收项目的应用,支持鸿蒙,支持全国产化
全场景智能终端主板AIoT-3588A推出的智能化垃圾回收项目,旨在解决城市化进程中日益突出的垃圾处理问题。智能垃圾分类箱具备触屏操作、自动称重、分类投放以及电子语音播报提示等多项功能,居民能够经过分类积分卡、手机扫码、人脸识别等多种途径进行投放…...
QT设计模式:建造者模式
基本概念 建造者模式是一种创建型设计模式,它允许你创建复杂对象的过程独立于该对象的组成部分以及它们的组装方式。这样可以构造出不同的对象表示。 在建造者模式中,将创建对象的过程和对象的表示分离,通过一步步的构建,可以得…...
个人微信api
简要描述: 退出群聊 请求URL: http://域名地址/quitChatRoom 请求方式: POST 请求头Headers: Content-Type:application/json Authorization:login接口返回 参数: 参数名 必选 类型 …...
使用Ownips工具获取海外电商网站wish商品价格
一、引言 在数字化浪潮汹涌的今天,互联网已经成为我们生活、工作中不可或缺的一部分。而在这个虚拟的世界里,每一个设备都需要一个独特的标识来确保信息的准确传递,这个标识就是IP地址。而在众多IP地址中,静态IP因其独特的稳定性…...
【FFmpeg】调用ffmpeg进行H264软解
调用FFmpeg库实现264软件解码 1. FFmpeg的编译2. 调用FFmpeg实现H264软解2.1 基本框架2.2 代码实现2.3 测试结果 3. 分析工具3.1 码流分析3.2 YUV分析 示例工程 【FFmpeg】调用FFmpeg库实现264软编 1. FFmpeg的编译 FFmpeg在Windows下的编译参考:http://t.csdni…...
网络安全防护:抵御DDoS和CC攻击
在当今数字化时代,网络安全已成为任何组织或个人不可忽视的重要议题。DDoS(分布式拒绝服务)攻击和CC(命令与控制)攻击作为两种最为常见的网络攻击方式,给网络运营者和用户带来了巨大的威胁和影响。本文将介…...
初次查询大数据信用报告,需要注意哪些问题?
随着大数据的普及,基于大数据技术的大数据信用也变得越来越重要,比如在申贷之前,不少地方都会查询申贷人的大数据信用,作为风险控制的必要手段,那对于初次查询大数据信用报告的人来说,需要注意哪些问题呢?…...
最短路径[floyd算法]-----视频讲解+代码实现
求最短路径,一般有三种方法: 单源最短路径--Dijkstra算法 此算法只能求不带负权值的有向无环图 单源最短路径--Bellman-Ford算法(少考) 此算法优点在于:可以求带权值的右向无环图 但只是缺点明显,时间复杂度…...
图像/视频恢复和增强CodeFormer
github:https://github.com/sczhou/CodeFormer 尝试增强旧照片/修复人工智能艺术 面部修复 面部色彩增强和恢复 脸部修复...
WPF中ObservableCollection
在WPF(Windows Presentation Foundation)中,ObservableCollection<T> 是一个非常重要的类,它用于实现动态数据绑定功能。这个类位于 System.Collections.ObjectModel 命名空间中,是 ICollection<T>, IList…...
如何用鼠标点击在picturebox的图像上做标记
鼠标点击图像,在点击处画一个圆。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Drawing2D; using System.Linq; using System.Text; using System.Threading.T…...
k8s介绍
一、前言 Kubernetes(通常简称为 K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序,它提供了丰富的功能使得用户能够轻松地管理大规模的容器集群,包括自动化部署和扩展、服务发现和负载均衡、存…...
K-means聚类模型:深入解析与应用指南
K-means聚类是一种广泛使用的无监督学习算法,它通过迭代过程将数据集划分为K个聚类。以下是一篇关于K-means聚类模型的技术文章,将从不同的角度进行详尽的描述。 1. 引言 K-means聚类算法是一种简单且高效的聚类方法,广泛应用于数据挖掘、市…...
CTF-密码学基础
概述 密码学(Cryptolopy):是研究信息系统安全保密的科学 密码学研究的两个方向: 密码编码学(Cryptography):主要研究对信息进行编码,实现对信息的隐蔽密码分析学(Cryptanalytics):主要研究加密信息的破译或消息的伪造…...
代码随想录算法训练营day22 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
654.最大二叉树 和构造二叉树差不多,本题使用索引的方式 class Solution:def constructMaximumBinaryTree(self, nums: List[int]) -> Optional[TreeNode]:return self.traversal(nums, 0, len(nums)-1)def traversal(self, nums, left, right):if left > r…...
企业信息防泄漏软件分析:盘点常用企业信息防泄漏软件
在当今数字化时代,企业信息防泄漏软件已成为保障企业数据安全不可或缺的一环。市面上众多的防泄漏软件各具特色,如何从中挑选出最适合自己企业的产品,成为了一个值得深入探讨的话题。 一、企业信息防泄漏软件分析 首先,我们需要…...
Rancher-Kubewarden-保姆级教学-含Demo测试
一、什么是Kubewarden? What is Kubewarden? | Kubewarden 1、就是容器集群的准入策略引擎。 1、使用的策略其实就是k8s原生的security context. 2、使用WebAssembly来编写策略。 1、WebAssembly,可以使用擅长的开发语言来编写策略。(下面的…...
Lumerical Script ------ array 数组类型 和 matrix 矩阵类型
Lumerical Script ------ array 数组类型 和 matrix 矩阵类型 引言正文array 数组类型matrix 矩阵类型引言 这篇仅仅用作个人笔记,因为作者本人比较擅长 Python,每次写 Lumerical Script 总是会写错代码。 正文 array 数组类型 Lumerical Script 脚本有些像 Matlab 脚本,…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
在 Kubernetes 集群中,如何在保障应用高可用的同时有效地管理资源,一直是运维人员和开发者关注的重点。随着微服务架构的普及,集群内各个服务的负载波动日趋明显,传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一:HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二:Floyd 快慢指针法(…...
小智AI+MCP
什么是小智AI和MCP 如果还不清楚的先看往期文章 手搓小智AI聊天机器人 MCP 深度解析:AI 的USB接口 如何使用小智MCP 1.刷支持mcp的小智固件 2.下载官方MCP的示例代码 Github:https://github.com/78/mcp-calculator 安这个步骤执行 其中MCP_ENDPOI…...
