【发布时间】:2019-10-11 06:49:11
【问题描述】:
我有两个应用,一个是android java app,另一个是unity app
Unity 应用识别对象并显示一些细节。我想要做的是,如果用户单击识别对象时显示的按钮,我想将该信息发送到 java android 应用程序,以便应用程序可以使用该数据来执行某些功能。用户单击按钮后如何发送数据并从统一切换到 java android 应用程序?
编辑:对于任何寻找答案的人。我设法通过下面的代码来做到这一点
在 UNITY 应用程序中:
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");
}
}
【问题讨论】:
标签: android unity3d augmented-reality vuforia