c# - Unity android插件C#代码启动activity

标签 c# android unity-game-engine

我正在开发 unity android 插件,想知道是否有办法从 c# 代码启动 android Activity 类。

这相当于android代码:

Intent intent = new Intent(context,some_activity.class);

最佳答案

下面是我如何为使用 Unity for Android 构建的 AR 应用程序调用我的插件: 首先定义你的插件:

private AndroidJavaClass plugin;

稍后在 Start() 上

plugin = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

稍后当你想调用你的插件时:

ΑndroidJavaClass jc = new AndroidJavaClass("com.package.name.ActivityName");
AndroidJavaObject jo = plugin.GetStatic<AndroidJavaObject>("currentActivity");
string msg= "a msg to send to android activity";
jo.Call("buttonClicked", msg);

buttonClicked 是Java端的方法。获取该方法后,您可以使用 Intents 调用任何 Activity

您应该为您的插件创建一个 jar 并将其添加到您的 Unity 项目的插件文件夹中。

更多详情可以查看here

关于c# - Unity android插件C#代码启动activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30342741/

相关文章:

c# - 单击 HTML 链接时在 ASP.NET 中调用 C# 函数

c# - 根据方法参数构建 IQueryable

c# - 如何在 .NET 2.0 中创建自定义集合

java - 如何在第一次点击时播放音频?

android - Unity 2D Android Build Glitch 中的屏幕渲染?

android - 应用程序在 FirebaseAuth.DefaultInstance 之后崩溃

c# - 通过 try 中的 lock 锁定资源。这是错的吗?

android - 从我的 Android 应用程序将我的应用程序链接共享到其他应用程序不起作用

android - 如何获取知道用户何时退出应用程序的方法代码

android - Firebase 模块初始化失败 : remote_config (missing dependency)