【问题标题】:Tizen .NET Wearable Screen WakeupTizen .NET 可穿戴屏幕唤醒
【发布时间】:2020-11-12 12:55:41
【问题描述】:

我们目前正在为智能手表开发应用程序。我们最初使用 HTML、JS 和 CSS 将应用程序构建为 Web 应用程序。由于开发对我们来说相当艰难,我们切换到了 .NET。

移植后一切正常。唯一的例外是,我们的应用程序必须在后台继续运行。我们最初通过手动唤醒屏幕来强制执行此操作,只要它想进入睡眠状态(类似于这篇文章:Is it possible to keep Tizen application alive non stop)。在 .NET 中,我们现在没有这个确切的功能。经过几个小时的搜索,我们没有找到合适的解决方案,屏幕总是关闭,应用程序迟早会被操作系统杀死。

为什么不应该杀死应用程序?我们有一个 WebSocket 连接。此 WebSocket 与手表通信。如果应用程序被杀死,显然服务器无法再通信。因此,WebSocket 必须持续运行至少 10 小时。

我希望有人可以提供帮助。谢谢!

【问题讨论】:

标签: c# websocket tizen tizen-wearable-sdk


【解决方案1】:

感谢@Lunch Basketball,我得到了很好的反馈。

您可以从本地方法导入特定的 DLL,并在项目中调用它们。例如。如果你想锁定和释放 CPU(这意味着你的应用程序不会被杀死)。

internal static class NativeMethods
{
    [DllImport("libcapi-system-device.so.0", EntryPoint = "device_power_request_lock", CallingConvention = CallingConvention.Cdecl)]
    internal static extern int DevicePowerRequestLock(int type, int timeoutMs);

    [DllImport("libcapi-system-device.so.0", EntryPoint = "device_power_release_lock", CallingConvention = CallingConvention.Cdecl)]
    internal static extern int DevicePowerReleaseLock(int type);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多