這是沒有必要,你必須與Unityplayer活動或mainActivity的約束。
您可以將任何活動設爲靜態並從c#unity調用這些活動中存在的函數或UI。
正確的方法是在您的主Android項目中創建一個靜態活動並將其稱爲currentActivity。這在你onCreate方法設置好後currentActivity這個下面的代碼表明:
public class MainActivity extends UnityPlayerActivity {
public static MainActivity currentActivity;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
currentActivity=this;
另外:從您的統一代碼,你可以使用C#通過使用下面的代碼來調用在MainActivity一個Android方法:
AndroidJavaClass jc = new AndroidJavaClass("yourpackagename.youractivity");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.Call("toggleMenu");
OR
可以UnityPlayerActivity轉換成片段,下文提到的鏈接將幫助您在同一
How can I open an Android Fragment in a new process?