Xamarin iOS App 检查 GPS 是不是启用或提示用户
Posted
技术标签:
【中文标题】Xamarin iOS App 检查 GPS 是不是启用或提示用户【英文标题】:Xamarin iOS App check if GPS is enabled or prompt the userXamarin iOS App 检查 GPS 是否启用或提示用户 【发布时间】:2019-06-13 09:34:32 【问题描述】:您好,我正在研究一个用 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)
【问题讨论】:
是的,您可以向用户显示警报,这种方式是正确的。如果您设置启用GPS,系统默认警报将显示在应用程序中。 :) 【参考方案1】:欢迎@Abe,你是在正确的道路上!
-
是的,你会的。您只需将它放在您提到的覆盖中。
您可以将检查放在 AppDelegate 中,但这可能不是最好的做法。您可能只想将其放在页面的 Appear 覆盖中。
是的,使用 AppDelegate 生命周期覆盖是一种在应用处于后台时需要 GPS 时检查 GPS 的方法。
提示:
-
如果您使用的是 Xamarin Native,则在 ViewController 中,您可以改用 ViewDidLoad 覆盖来执行 GPS 检查
您也可以只查看Xamarin Essentials 示例,了解处理 GPS 的简化方法
【讨论】:
以上是关于Xamarin iOS App 检查 GPS 是不是启用或提示用户的主要内容,如果未能解决你的问题,请参考以下文章
ReactNative:如何检查用户是不是已授予 gps 权限