Xamarin iOS App检查是否启用了GPS或提示用户

时间:2019-06-13 09:34:32

标签: ios xamarin xamarin.android xamarin.ios gps

您好,我正在研究使用Xamarin iOS编写的应用程序。我尝试实现的功能是

在运行应用程序时必须启用GPS,如果未启用gps则提示用户启用。如果答案是肯定的,请启用gps并继续,否则退出应用程序。

总体而言,我真的是Xamarin和移动开发的新手。经过研究,我发现此链接显示了Xamarin iOS应用程序的生命周期。

Xamarin Lifecycle

我的问题是

1)当应用程序从后台返回或在替代项中启动时,我能否通过App Delegate向用户显示警报以启用GPS(请参见链接)

2)如果无法通过应用程序委托创建对话框,则最好创建一个新屏幕并显示该对话框以启用gps,而不是在所有屏幕中都添加gps检查。

3)这是检查是否启用GPS的正确方法

例如,当应用从后台返回时

 public override void WillEnterForeground(UIApplication application)
        {
            Console.WriteLine("App will enter foreground");
            if(CLLocationManager.Status == CLAuthorizationStatus.Denied)
            {

            }
        }

1 个答案:

答案 0 :(得分:0)

欢迎@Abe,您走对了路!

  1. 是的,你会的。您只需要将它放在您提到的替代项中即可。
  2. 您可以将支票放入AppDelegate中,但这并不是最好的选择。您可能希望将其放置在页面的“显示”替代中。
  3. 是的,使用AppDelegate生命周期替代是在后台运行时检查GPS是否需要的一种方法。

提示:

  1. 如果您在ViewController中使用Xamarin Native,则可以改用ViewDidLoad替代项来执行GPS的检查
  2. 您也可以只查看Xamarin Essentials示例,以简化处理GPS的方法