按下按钮将数据从unity应用发送到android应用
我有两个应用程序,一个是android java应用程序,另一个是unity应用程序 Unity应用程序识别该对象并显示一些细节。我想做的是,如果用户单击标识对象时显示的按钮,我想将该信息发送到java android应用程序,以便该应用程序可以使用该数据执行某些功能。用户点击按钮后,我如何发送数据并从unity切换到java android应用程序 编辑:任何一个寻找答案的人。我通过下面的代码成功地做到了这一点 在UNITY应用程序中:按下按钮将数据从unity应用发送到android应用,android,unity3d,augmented-reality,vuforia,Android,Unity3d,Augmented Reality,Vuforia,我有两个应用程序,一个是android java应用程序,另一个是unity应用程序 Unity应用程序识别该对象并显示一些细节。我想做的是,如果用户单击标识对象时显示的按钮,我想将该信息发送到java android应用程序,以便该应用程序可以使用该数据执行某些功能。用户点击按钮后,我如何发送数据并从unity切换到java android应用程序 编辑:任何一个寻找答案的人。我通过下面的代码成功地做到了这一点 在UNITY应用程序中: 如果我理解正确,您希望两个应用程序都在同一台设备上。 最
如果我理解正确,您希望两个应用程序都在同一台设备上。 最简单的方法是将数据保存到unity应用程序中的一个文件中,然后在android应用程序中从该文件中读取。但我认为您甚至可以在应用程序调用中附加数据,这样您甚至不需要临时保存它。 从Unity打开Android应用程序也是可能的。有人问了同样的问题,得到了一些有用的答案
编辑:从我收集到的信息来看,你可以通过意向传输你的数据,似乎大多数人都可以从那里打意向电话。我已经使用帖子中的代码从unity app打开了其他应用程序(我已经用代码更新了帖子)。有没有什么方法可以让我用这些代码向java android应用程序发送一些数据。我想我可以做你想做的事情。
public void LaunchAppMessage()
{
string bundleId = "com.example.sidenavtest";
bool fail = false;
string message = "message";
AndroidJavaClass up = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject ca = up.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject packageManager = ca.Call<AndroidJavaObject>("getPackageManager");
AndroidJavaObject launchIntent = null;
try
{
launchIntent = packageManager.Call<AndroidJavaObject>("getLaunchIntentForPackage", bundleId);
launchIntent.Call<AndroidJavaObject>("putExtra", "arguments", message);
}
catch (System.Exception e)
{
fail = true;
}
if (fail)
{
Application.OpenURL("https://google.com");
}
else
{
ca.Call("startActivity", launchIntent);
}
up.Dispose();
ca.Dispose();
packageManager.Dispose();
launchIntent.Dispose();
}
@Override
protected void onStart() {
super.onStart();
Bundle extras = getIntent().getExtras();
String userName;
if (extras != null) {
userName = extras.getString("arguments");
}
}