У меня есть два приложения, одно из которых - Android-приложение Java, а другое - приложение Unity
Приложение Unity распознает объект и показывает некоторые детали. То, что я хочу сделать, - если пользователь нажимает кнопку, которая отображается при идентификации объекта, я хочу отправить эту информацию в приложение Java для Android, чтобы приложение могло использовать эти данные для выполнения определенных функций. Как я могу отправить данные и переключиться с Unity на 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();
}
В приложении Android
@Override
protected void onStart() {
super.onStart();
Bundle extras = getIntent().getExtras();
String userName;
if (extras != null) {
userName = extras.getString("arguments");
}
}