【发布时间】:2022-01-27 12:31:51
【问题描述】:
为什么这段代码不能在 Android API 级别 30 的设备上正常运行(附加项为空)? 然而,在 API 级别 29 中,extra 不为空,我们得到了我们发送的内容。
我们发送的附加内容只是一个字符串。
我们正在从 Unity 应用 (C#) 启动 Intent,但不确定这是否相关。
Android Studio 中的 Java 代码
public void onResume() {
super.onResume();
Bundle extras = getIntent().getExtras();
if (extras != null) {
//not null in 29, null in 30
}
}
Unity(C#) 代码
AndroidJavaClass up = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject ca = up.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject packageManager = ca.Call<AndroidJavaObject>("getPackageManager");
AndroidJavaObject launchIntent = null;
var bundle = "com.xxxxxx.xxxxx";
launchIntent=packageManager.Call<AndroidJavaObject("getLaunchIntentForPackage",bundle);
launchIntent.Call<AndroidJavaObject>("putExtra", "argument", "StringArgument");
ca.Call("startActivity", launchIntent);
【问题讨论】:
标签: java c# android unity3d android-intent