Tam*_*aya 3 c# plugins android native unity-game-engine
我知道这样做不是一个好的做法,但在我的特殊情况下,这正是我所需要的:我能够重新启动我的 Unity 应用程序(从本机插件或 C#,没关系)。
我设法让它与这段代码一起工作:
private static void RestartAndroid() {
if (Application.isEditor) return;
using (var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) {
const int kIntent_FLAG_ACTIVITY_CLEAR_TASK = 0x00008000;
const int kIntent_FLAG_ACTIVITY_NEW_TASK = 0x10000000;
var currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
var pm = currentActivity.Call<AndroidJavaObject>("getPackageManager");
var intent = pm.Call<AndroidJavaObject>("getLaunchIntentForPackage", Application.identifier);
intent.Call<AndroidJavaObject>("setFlags", kIntent_FLAG_ACTIVITY_NEW_TASK | kIntent_FLAG_ACTIVITY_CLEAR_TASK);
currentActivity.Call("startActivity", intent);
currentActivity.Call("finish");
var process = new AndroidJavaClass("android.os.Process");
int pid = process.CallStatic<int>("myPid");
process.CallStatic("killProcess", pid);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7215 次 |
| 最近记录: |