首页 > 解决方案 > Xamarin:RegisterActivityLifecycleCallbacks - Prelaunche 时出错:java.lang.UnsatisfiedLinkError:找不到 void 的实现

问题描述

如果有代码实现。在 VS 调试运行中,没有错误。应用程序也可以工作,但在 Google-Play Sorte 的 Pre-Launch 中,收到以下错误消息:

“java.lang.UnsatisfiedLinkError: No implementation found for void crc6438c23e30aebeb336.MainApplication.n_onCreate() (试过 Java_crc6438c23e30aebeb336_MainApplication_n_1onCreate 和 Java_crc6438c23e30aebeb336_MainApplication_n_1onCreate__)”

代码:

...
 [Application]
    public partial class MainApplication : Application, Application.IActivityLifecycleCallbacks
    {
        public static bool IsApplicationInForeground { get; private set; }

        public MainApplication(IntPtr handle, JniHandleOwnership transer)
          :base(handle, transer)
        {
        }

        public override void OnCreate()
        {
            base.OnCreate();

            try { RegisterActivityLifecycleCallbacks(this); } catch { }
            
            //A great place to initialize Xamarin.Insights and Dependency Services!
        }

        public override void OnTerminate()
        {
            base.OnTerminate();
            try { UnregisterActivityLifecycleCallbacks(this); } catch { }
        }

        public void OnActivityCreated(Activity activity, Bundle savedInstanceState) //?
        {
            CrossCurrentActivity.Current.Activity = activity;
        }

        public void OnActivityDestroyed(Activity activity) //?
        {
        }

        public void OnActivityPaused(Activity activity) //?
        {
        }

        public void OnActivityResumed(Activity activity)
        {
            CrossCurrentActivity.Current.Activity = activity;
            IsApplicationInForeground = true;
        }

        public override void OnTrimMemory(TrimMemory level)
        {
            IsApplicationInForeground &= level != TrimMemory.UiHidden;

            base.OnTrimMemory(level);
        }

        public void OnActivitySaveInstanceState(Activity activity, Bundle outState) //?
        {
        }

        public void OnActivityStarted(Activity activity) //?
        {
            CrossCurrentActivity.Current.Activity = activity;
        }

        public void OnActivityStopped(Activity activity) //?
        {
        }
    }

...

标签: c#androidxamarin

解决方案


推荐阅读