是否有可用的事件(在 xamarin 或特定于平台的)可用于收听用户设备时间的任何变化?

Posted

技术标签:

【中文标题】是否有可用的事件(在 xamarin 或特定于平台的)可用于收听用户设备时间的任何变化?【英文标题】:Is there an available event (in xamarin or platform-specific) which can be used to listen to any change in device time by the user? 【发布时间】:2021-09-17 23:57:39 【问题描述】:

我有一个 Xamarin Forms 应用程序,并且需要监听用户所做的与设备时间相关的更改。 Xamarin 或特定平台(androidios 和 UWP)中是否有任何可用的事件可以达到此目的?

预期场景:用户通过设备设置时间。 Xamarin 应用程序收到有关时间更改事件的通知。

【问题讨论】:

我不知道 【参考方案1】:

安卓:

您可以使用意图过滤器Intent.ActionTimeChanged 注册Broadcast Receiver

[BroadcastReceiver(Enabled = true)]
[IntentFilter(new[]  Intent.ActionTimeChanged )]
public class DeviceTimeChanged : BroadcastReceiver

    public override void OnReceive(Context context, Intent intent)
    
        // Work that should be done when the device boots.     
    

广播接收者:https://docs.microsoft.com/en-us/xamarin/android/app-fundamentals/broadcast-receivers

Intent.ActionTimeChanged:https://docs.microsoft.com/en-us/dotnet/api/android.content.intent.actiontimechanged?view=xamarin-android-sdk-9

iOS:

对于 ios,您可以使用 NSSystemClockDidChangeapplicationSignificantTimeChange

NSSystemClockDidChange:https://developer.apple.com/documentation/foundation/nsnotification/name/1414255-nssystemclockdidchange

applicationSignificantTimeChange:https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1622992-applicationsignificanttimechange?language=objc

【讨论】:

以上是关于是否有可用的事件(在 xamarin 或特定于平台的)可用于收听用户设备时间的任何变化?的主要内容,如果未能解决你的问题,请参考以下文章

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法訪问server。请验证实例名称是否正确而且 SQL Server 已配置为同意远程连接。

在跨平台 xamarin 项目中编写特定于平台的代码

与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。

与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。

为啥在建立与 SQL Server 的连接时会发生与网络相关或特定于实例的错误?

EntityFramework.SqlServer.dll 中发生 其他信息: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否