首页 > 解决方案 > Xamarin.forms One Signal PromptLocation 方法

问题描述

我在定位方面遇到了一些问题,我遵循了一份信号文件,但正如您在 SS 中看到的那样,定位点仍然为空 一个信号示例

这是一些代码(按照顺序,.Android 中的 MainActivity.cs 和 PCL 中的 App.cs)

protected override void OnCreate(Bundle savedInstanceState)
{
     TabLayoutResource = Resource.Layout.Tabbar;
     ToolbarResource = Resource.Layout.Toolbar;

     base.OnCreate(savedInstanceState);
     PullToRefreshLayoutRenderer.Init();
     OneSignal.Current.StartInit("onesignalID").EndInit();
     OneSignal.Current.PromptLocation();
     Xamarin.Essentials.Platform.Init(this, savedInstanceState);
                global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
     LoadApplication(new App());
     App.Current.On<Xamarin.Forms.PlatformConfiguration.Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize);
}

 public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
        {
            Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
            base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
        }
public App()
{
     InitializeComponent();
     var config = RealmConfiguration.DefaultConfiguration;
     config.SchemaVersion = 1;
     OneSignal.Current.StartInit("onesignalID").InFocusDisplaying(OSInFocusDisplayOption.None).HandleNotificationReceived(HandleNotificationReceived).HandleNotificationOpened(HandleNotificationOpened).EndInit();
     OneSignal.Current.PromptLocation();
     MainPage = new MainPage();
}

protected override void OnStart()
{
     OneSignal.Current.RegisterForPushNotifications();
     // Handle when your app starts
}

位置请求按预期在应用程序初始化中提示,但即使我允许位置共享,onesignal 中的位置点仍然为空

标签: c#xamarinxamarin.formsonesignal

解决方案


推荐阅读