首页 > 解决方案 > 打开一个新的活动 Xamarin 重新启动我的应用程序

问题描述

使用 Xamarin.Forms 我的主应用程序正在运行 Forms。但是我有 Mapbox Navigation,它是我正在使用的 Xamarin.Android,我试图从 Forms 打开导航,所以我正在执行以下操作:

表格代码

 public interface INavigation
{
    void StartNativeIntentOrActivity();
}

然后通过Forms中的DependencyService调用上面的void

XAMARIN.ANDROID 代码

 using Android.Content;
 using MapleLMCApp.Classes;
 using MapleLMCApp.Droid;
 using MapleLMCApp.Droid.NavigationUI;
 using System;
 using Xamarin.Forms;

 [assembly: Xamarin.Forms.Dependency(typeof(NavInitializer))]
 namespace MapleLMCApp.Droid
 {   
     class NavInitializer : INavigation
     {    
         public void StartNativeIntentOrActivity()
         {
             //Begin Navigation Form
             try
             {
                 var intent = new Intent(Android.App.Application.Context, typeof(EmbeddedNavigationActivity));
                 intent.SetFlags(ActivityFlags.NewTask);   
                 Android.App.Application.Context.StartActivity(intent);           
            
             }
             catch (Exception ex)
             {
                 LogFileCreation lg = new LogFileCreation();
                 lg.CreateLog(ex.ToString(), "NAV Initilizer Error");
             }
         }
     }
 }

以上在 API <28 和 API >28 的模拟器中完美运行

第二次我在我的华为 P30 Pro 上尝试上面的代码,第二次出现新活动时,应用程序会自行重启或自动关闭......

关于可能导致这种情况的任何想法?一些需要设置的安全设置或清单属性或类似的东西?

标签: c#xamarin.formsxamarin.android

解决方案


有一个 fetchRoute() 事件在新活动打开时启动。由于双重解析的文化变体,这在 P30 Pro 上有一个错误...它试图将 27,33 解析为双重并且需要为 27.33

表格现在打开没有任何问题


推荐阅读