using UnityEngine;
using System;public class IntentReceiver : MonoBehaviour
{public bool isVR1;void Start(){Debug.LogError("app1111111111111111111111111");if (isVR1){LaunchAnotherApp("com.HappyMaster.DaKongJianVR2");}else{// 檢查是否有傳遞的參數if (Application.isMobilePlatform){AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");AndroidJavaObject intent = currentActivity.Call<AndroidJavaObject>("getIntent");// 檢查Intent是否包含額外的數據if (intent != null){// 從Intent中獲取參數string sn = intent.Call<string>("getStringExtra", "sn");int group = intent.Call<int>("getIntExtra", "group", 0);string app = intent.Call<string>("getStringExtra", "app");string user = intent.Call<string>("getStringExtra", "user");int human = intent.Call<int>("getIntExtra", "human", 0);int times = intent.Call<int>("getIntExtra", "times", 0);// 在這里處理接收到的參數Debug.Log($"Received parameter: \n{sn}\n{group}\n{app}\n{user}\n{human}\n{times}");}}}}void LaunchAnotherApp(string packageName){try{AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");AndroidJavaObject pm = currentActivity.Call<AndroidJavaObject>("getPackageManager");AndroidJavaObject launchIntent = pm.Call<AndroidJavaObject>("getLaunchIntentForPackage", packageName);if (launchIntent == null){Debug.Log("無法獲取 launch intent");return;}// 添加需要的 extras 和 flagslaunchIntent.Call<AndroidJavaObject>("putExtra", "sn", "PicoSN");launchIntent.Call<AndroidJavaObject>("putExtra", "group", 99);launchIntent.Call<AndroidJavaObject>("putExtra", "app", "一刀九九");launchIntent.Call<AndroidJavaObject>("putExtra", "user", "教主");launchIntent.Call<AndroidJavaObject>("putExtra", "human", 0);launchIntent.Call<AndroidJavaObject>("putExtra", "times", 2025);currentActivity.Call("startActivity", launchIntent);}catch (Exception e){Debug.LogError($"啟動app失敗: {e.Message}\n{e.StackTrace}");}}}
AndroidManifest 需要添加權限