public override void OnCreate() { base.OnCreate(); Agent = new AndroidAgent(null, contentId: global::Android.Resource.Id.Content); Agent.IdentificationFailure += OnAgentIdentificationFailure; }
protected override void Awake() { base.Awake(); #if UNITY_ANDROID agent = gameObject.AddComponent <AndroidAgent>(); #endif }
public void IntegrateWith(EvaluationContextManager evaluationContextManager) { realAgent = evaluationContextManager.Context as AndroidAgent; if (realAgent == null) { return; } if (realAgent.ViewHierarchyHandlerManager == null) { return; } try { realAgent.ViewHierarchyHandlerManager.AddViewHierarchyHandler(HierarchyKind, new AndroidFormsViewHierarchyHandler(realAgent)); evaluationContextManager.RepresentationManager.AddProvider <FormsRepresentationProvider> (); if (realAgent.ClientSessionUri.SessionKind == ClientSessionKind.Workbook) { evaluationContextManager.RegisterResetStateHandler(ResetStateHandler); // Set up launching the Forms activity. Log.Debug(TAG, "Setting up activity type and grabbing current activity..."); var activityType = Type.GetType(FormsActivityTypeName); if (activityType == null) { Log.Warning(TAG, "Could not fully initialize Xamarin.Forms integration, missing Forms launch activity."); return; } var intent = new Intent(Application.Context, activityType); intent.AddFlags(ActivityFlags.NewTask); var currentActivity = realAgent.GetTopActivity(); // Launch the Forms activity. Log.Debug(TAG, "Launching Forms activity via intent."); Application.Context.StartActivity(intent); // Wrap the previous activity up to reduce confusion. Log.Debug(TAG, "Finishing existing activity."); currentActivity.Finish(); } Log.Info(TAG, "Registered Xamarin.Forms agent integration!"); } catch (Exception e) { Log.Error(TAG, "Could not register Xamarin.Forms agent integration.", e); } }
public AndroidFormsViewHierarchyHandler(AndroidAgent agent) { this.agent = agent; }