如何检查用户是不是从“设置”返回

Posted

技术标签:

【中文标题】如何检查用户是不是从“设置”返回【英文标题】:How to check that user is back from Settings如何检查用户是否从“设置”返回 【发布时间】:2016-09-13 07:29:31 【问题描述】:

我正在向我的用户发送本地通知,我想在通知设置按钮上显示相关标题。

如果本地通知关闭,则此标题应为“通知:关闭”,如果本地通知已打开,则此标题应类似于“首选项”。

现在我在 viewDidLoad 和 viewDidAppear 中检查这个,它可以工作。

if UIApplication.sharedApplication().currentUserNotificationSettings()?.types.rawValue == 0 
    //the first title
 else 
    //the second title

一种情况除外。如果我的用户将手机设置中的通知从“开启”更改为“关闭”,反之亦然,然后他又回来了——标题没有改变(因为这个 viewController 已经加载并且确实出现了)。

如何检查用户是否从设置中返回?

【问题讨论】:

很难理解你的问题,你在说什么设置?您的应用程序中的 vc,或者在设置应用程序中更改设置然后回到您的? 更改手机设置中的设置然后回到我的,是的。 【参考方案1】:

当您的应用从非活动状态进入前台时,您可以观察到此通知,每次从后台再次打开您的应用时都会调用选择器:

输入viewDidLoad:

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.reloadData), name: UIApplicationWillEnterForegroundNotification, object: UIApplication.sharedApplication())

输入viewDidDissapeardeinit

NSNotificationCenter.defaultCenter().removeObserver(self)

【讨论】:

【参考方案2】:

Swift 5.5:

NotificationCenter.default.addObserver(
    self,
    selector: #selector(yourFunction),
    name: UIApplication.willEnterForegroundNotification,
    object: UIApplication.shared
)

还有:

deinit 
    NotificationCenter.default.removeObserver(self)

【讨论】:

以上是关于如何检查用户是不是从“设置”返回的主要内容,如果未能解决你的问题,请参考以下文章

ReactNative:如何检查用户是不是已授予 gps 权限

检查用户何时从 iOS 设置应用程序返回

React Native:如何检查用户是否已授予gps权限

如何检查该用户是不是已通过来自美味派的身份验证?

如何检查用户是不是在公会中

如何检查用户是不是从用户列表中关注另一个用户?