android - NSSystemClockDidChangeNotification 是否收到有关自动时区更新的通知(无需手动干预。例如,当用户正在旅行时)?
问题描述
我们可以通过手机检测时区更改与用户专门更改时间吗?android 也有同样的问题..我在哪里使用 intent.ActionTimeChanged ?
解决方案
您需要分别在每个平台(iOS / Android)上实现这一点。
在 Android 上,您可以注册一个BroadcastReceiver
for Intent.ActionTimeChanged
(Intent.ActionTimezoneChanged
如果需要):
[BroadcastReceiver]
[IntentFilter(new[] { Intent.ActionTimeChanged })]
public class TimeChanged : BroadcastReceiver
{
public override void OnReceive(Context context, Intent intent)
{
Console.WriteLine("Time change, do something with that knowledge");
}
}
在 iOS 上,您可以注册NSSystemClockDidChange
通知:
NSNotificationCenter.DefaultCenter.AddObserver(new NSString("NSSystemClockDidChangeNotification"), (obj) =>
{
Console.WriteLine("Time change, do something with that knowledge");
});
我在我这边测试了解决方案,它工作正常。
推荐阅读
- angular - 为什么这个 Angular Rxjs 观察者不退订?
- excel - 重新计算功能
- reactjs - 应避免通过 props 传递组件类型
- java - 修复在 Android Studio / Kotlin 中单击按钮时出现的错误?
- mysql - H2 varchar 列区分大小写
- visual-studio - 在 Visual Studio SSIS 中过滤日期列(派生列)
- amp-html - Accelerated Mobile Pages:地图区域替代方案
- php - 这个 post 方法代码可能有什么问题?
- android - 使用约束布局无法将文本视图放置在指南下方
- python - Python Selenium 的 URL 问题上的多次单击循环