Unity安卓平台开发,启动app并传参

using UnityEngine;
using System;public class IntentReceiver : MonoBehaviour
{public bool isVR1;void Start(){Debug.LogError("app1111111111111111111111111");if (isVR1){LaunchAnotherApp("com.HappyMaster.DaKongJianVR2");}else{// 检查是否有传递的参数if (Application.isMobilePlatform){AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");AndroidJavaObject intent = currentActivity.Call<AndroidJavaObject>("getIntent");// 检查Intent是否包含额外的数据if (intent != null){// 从Intent中获取参数string sn = intent.Call<string>("getStringExtra", "sn");int group = intent.Call<int>("getIntExtra", "group", 0);string app = intent.Call<string>("getStringExtra", "app");string user = intent.Call<string>("getStringExtra", "user");int human = intent.Call<int>("getIntExtra", "human", 0);int times = intent.Call<int>("getIntExtra", "times", 0);// 在这里处理接收到的参数Debug.Log($"Received parameter: \n{sn}\n{group}\n{app}\n{user}\n{human}\n{times}");}}}}void LaunchAnotherApp(string packageName){try{AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");AndroidJavaObject pm = currentActivity.Call<AndroidJavaObject>("getPackageManager");AndroidJavaObject launchIntent = pm.Call<AndroidJavaObject>("getLaunchIntentForPackage", packageName);if (launchIntent == null){Debug.Log("无法获取 launch intent");return;}// 添加需要的 extras 和 flagslaunchIntent.Call<AndroidJavaObject>("putExtra", "sn", "PicoSN");launchIntent.Call<AndroidJavaObject>("putExtra", "group", 99);launchIntent.Call<AndroidJavaObject>("putExtra", "app", "一刀九九");launchIntent.Call<AndroidJavaObject>("putExtra", "user", "教主");launchIntent.Call<AndroidJavaObject>("putExtra", "human", 0);launchIntent.Call<AndroidJavaObject>("putExtra", "times", 2025);currentActivity.Call("startActivity", launchIntent);}catch (Exception e){Debug.LogError($"启动app失败: {e.Message}\n{e.StackTrace}");}}}

AndroidManifest 需要添加权限

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

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

相关文章

云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】

云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】 目录 云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】1.RPM包的一般安装位置2.软件名和软件包名3.查询软件信息4.查询软件包5.导入红帽签名信息&#xff0c;解决查询软件包信息报错6.利用…

【图像处理3D】:点云图是怎么生成的

点云图是怎么生成的 **一、点云数据的采集方式****1. 激光雷达&#xff08;LiDAR&#xff09;****2. 结构光&#xff08;Structured Light&#xff09;****3. 双目视觉&#xff08;Stereo Vision&#xff09;****4. 飞行时间相机&#xff08;ToF Camera&#xff09;****5. 其他…

javaweb -html -CSS

HTML是一种超文本标记语言 超文本&#xff1a;超过了文本的限制&#xff0c;比普通文本更强大&#xff0c;除了文字信息&#xff0c;还可以定义图片、音频、视频等内容。 标记语言&#xff1a;由标签"<标签名>"构成的语言。 CSS:层叠样式表&#xff0c;用于…

pyinstaller 安装 ubuntu

安装命令 pip install pyinstaller 读取安装路径 ➜ ~ find ~/.local/ -name pyinstaller/home/XXX/.local/bin/pyinstaller 路径配置 vi ~/.zshrc 添加到文件最后 export PATH"$PATH:/home/XXX/.local/bin/" 查看版本号 ➜ ~ source ~/.zshrc➜ ~ pyi…

【前端】掌握HTML/CSS宽高调整:抓住问题根源,掌握黄金法则

一、宽高控制的「黄金法则」 问题根源&#xff1a;为什么设置了宽高没效果&#xff1f; <!-- 典型失败案例 --> <style>.problem-box {width: 200px;height: 100px;padding: 20px; /* 实际变成240x140px&#xff01; */border: 5px solid red; /* 最终250x150px&…

LuaJIT2.1 和 Lua5.4.8 性能对比

说明 最近在学习 LuaJIT&#xff0c;想看看把它接入到项目中使用&#xff0c;会提高多大的性能。 今天抽时间&#xff0c;简单地测试了一下 LuaJIT 2.2 和 Lua5.4.8 的性能。 测试平台&#xff1a; 系统&#xff1a;Windows 10 WSLCPU&#xff1a;Intel Core™ i7-8700 CPU…

Arduino学习-按键灯

哎&#xff0c;别笑&#xff0c;总比刷抖音强点吧 1、效果 2、代码 const int buttonPin2; const int ledPin13;int buttonState0;void setup() {// put your setup code here, to run once:pinMode(buttonPin,INPUT);pinMode(ledPin,OUTPUT); }void loop() {// put your mai…

强化学习鱼书(10)——更多深度强化学习的算法

&#xff1a;是否使用环境模型&#xff08;状态迁移函数P(s’|s,a)和奖 励函数r(s&#xff0c;a&#xff0c;V)&#xff09;。不使用环境模型的方法叫作无模型&#xff08;model-free&#xff09;的方法&#xff0c;使用环境模型的方法叫作有模型&#xff08;model-based&#…

9.axios底层原理,和promise的对比(2)

&#x1f63a;&#x1f63a;&#x1f63a; 和promise的对比 完全可以直接使用 Promise 来发 HTTP 请求&#xff0c;比如用原生 fetch Promise 就可以实现网络请求功能&#x1f447; ✅ 用 Promise fetch 的写法&#xff08;原生&#xff09; fetch(‘https://api.example.c…

什么是数据孤岛?如何实现从数据孤岛到数据共享?

目录 一、数据孤岛是什么&#xff1f; &#xff08;一&#xff09;数据孤岛的定义 &#xff08;二&#xff09;数据孤岛怎么形成的 二、数据孤岛带来的问题 &#xff08;一&#xff09;数据冗余和不一致 &#xff08;二&#xff09;决策效率低下 &#xff08;三&#xf…

MQTT入门实战宝典:从零起步掌握物联网核心通信协议

MQTT入门实战宝典&#xff1a;从零起步掌握物联网核心通信协议 前言 物联网时代&#xff0c;万物互联已成为现实&#xff0c;而MQTT协议作为这个时代的"数据总线"&#xff0c;正默默支撑着从智能家居到工业物联的各类应用场景。本文将带你揭开MQTT的神秘面纱&#…

I2C通信讲解

I2C总线发展史 怎么在一条串口线上连接多个设备呢&#xff1f; 由于速度同步线是由主机实时发出的&#xff0c;所以主机可以按需求修改通信速度&#xff0c;这样在一条线上可以挂接不同速度的器件&#xff0c;单片机和性能差的器件通信&#xff0c;就输出较慢的脉冲信号&#x…

Windows 10 IoT 系统深度定制指南:从环境搭建到工业部署

目录 一、Windows 10 IoT 架构特性与版本选型 1.1 核心架构设计 1.2 版本对比与选型建议 二、开发环境搭建与硬件适配 2.1 工具链配置 2.2 硬件适配关键步骤 三、系统定制流程详解 3.1 镜像定制&#xff08;IoT Core Dashboard&#xff09; 3.2 使用ICD&#xff08;Im…

k8s开发webhook使用certmanager生成证书

1.创建 Issuer apiVersion: cert-manager.io/v1 kind: Issuer metadata:name: selfsigned-issuernamespace: default spec:selfSigned: {}2.Certificate&#xff08;自动生成 TLS 证书&#xff09; apiVersion: cert-manager.io/v1 kind: Certificate metadata:name: webhook…

MyBatis-Plus深度全解:从入门到企业级实战

MyBatis-Plus深度全解&#xff1a;从入门到企业级实战 一、为什么选择MyBatis-Plus&#xff1f; 1.1 MyBatis的痛点 - 重复CRUD代码编写 - 分页功能实现复杂 - 缺少通用Service层封装 - 动态表名支持困难 - 多租户方案需自行实现1.2 MyBatis-Plus核心优势 无侵入&#xff1a…

【无标题】路径着色问题的革命性重构:拓扑色动力学模型下的超越与升华

路径着色问题的革命性重构&#xff1a;拓扑色动力学模型下的超越与升华 一、以色列路径着色模型的根本局限 mermaid graph TB A[以色列路径着色模型] --> B[强连通约束] A --> C[仅实边三角剖分] A --> D[静态色彩分配] B --> E[无法描述非相邻关系] C --> F[忽…

01 Deep learning神经网络的编程基础 二分类--吴恩达

二分类 1. 核心定义 二分类任务是监督学习中最基础的问题类型&#xff0c;其目标是将样本划分为两个互斥类别。设样本特征空间为 X ⊆ R n \mathcal{X} \subseteq \mathbb{R}^n X⊆Rn&#xff0c;输出空间为 Y { 0 , 1 } \mathcal{Y} \{0,1\} Y{0,1}&#xff0c;学习目标为…

数据结构:递归:泰勒展开式(Taylor Series Expansion)

目录 第一步&#xff1a;❓我们要解决什么&#xff1f; 第二步&#xff1a;将其类比为求自然数和 第三步&#xff1a;什么是每一项&#xff1f; 第四步&#xff1a;定义要计算的每一项&#xff08;term&#xff09; 第五步&#xff1a;定义递归函数结构 &#x1f333; 调用…

Hadolint:Dockerfile 语法检查与最佳实践验证的终极工具

在容器化应用开发的浪潮中,Dockerfile 作为构建 Docker 镜像的核心配置文件,其质量直接影响着应用的安全性、稳定性和可维护性。然而,随着项目复杂度的增加,手动检查 Dockerfile 不仅耗时,还容易遗漏潜在问题。今天,我要向大家介绍一款强大的工具——Hadolint,它将彻底改…

redis数据过期策略、淘汰策略

过期键的删除策略​ ​​1. 被动删除&#xff08;惰性删除&#xff09;​​ ​​触发时机​​&#xff1a;当客户端尝试访问某个键时&#xff0c;Redis会先检查该键是否过期。就是说&#xff0c;我们不时时检查每个键是否过期&#xff0c;而是在使用到这个键时检查是否过期&a…