npm 包 @nodert-win10/windows.applicationmodel.calls.background 使用教程

阅读时长 9 分钟读完

在 Windows 10 中,我们可以使用 windows.applicationmodel.calls.background 这个 API 实现对来电等通话事件的处理。而在本文中,我们将会介绍如何使用 @nodert-win10/windows.applicationmodel.calls.background 这个 npm 包来简化使用该 API 的过程。

安装

安装 @nodert-win10/windows.applicationmodel.calls.background 包:

或者在 package.json 中添加依赖项:

使用

在 JavaScript 中使用

在 JavaScript 中,我们可以通过 requireimport 来引入 @nodert-win10/windows.applicationmodel.calls.background

接下来,我们将会具体介绍使用 background API 实现来电通知的过程。

注册后台任务

要在 Windows 10 中处理来电等通话事件,我们需要为应用注册后台任务。

-- -------------------- ---- -------
-- -- -------------------------- --
----- - -------------------------- - - ----------

-- ------------------
----- -------- - ------------------
----- ---------------- - --------------------------------------------------------

-- ----------------
-- ------------------- -
  ----- -------------- - ---------------------------
  ----- ----------- - --- -----------------------
  ---------------- - --------
  -------------------------- - --------------
  -------------------------- -----------------------------------------
  ----- ---- - ----------------------
-

为了保证能够收到正确的通知和事件,我们需要通过以下方式声明任务:

  • name:后台任务的名称。
  • taskEntryPoint:任务入口点的位置。
  • setTrigger:用于声明后台任务何时会被触发。

在上述代码中,我们使用了 setTrigger 方法向操作系统声明我们要在电话通话事件时运行后台任务。

编写后台任务代码

完成后台任务的注册后,我们需要编写 myBackgroundTask.js 文件的内容(任务入口点):

-- -------------------- ---- -------
-- ----------- ---
----- - ------- - - ------------------------------------------------------------------

-- ------------------
----- ------------ - ----------------------------------------------------
----- -------------- - ---------------------------
----- ----------- - --------------------------
----- ------------- - ------------------------
----- ------------- - ---------------------

-- ------
-------- ------------------------------ -------------- -
  -- ---------------------
  -- -------------
  ------------------------------------
  --------------------------------------
-

-- -----------------
--------------------- ---------- ---- ---- ---- --------------------------- --- -- ---------------------------------

-- ------
-- --------------- ---------- -------------------------------------------------------------- -
  ------------------------------ --------------
-

-- -------
------------------------

在代码中,我们首先从 WebUIBackgroundTaskInstance 对象获取参数,然后使用 console.log 打印出这些参数,之后再执行特定的代码来处理来电事件。

注意,在代码的结尾处必须要调用 taskInstance.succeeded() 表示任务已经完成。

后台任务生命周期

一个后台任务在运行中可能会停止,我们需要根据不同的情况来处理不同的情况。

在 JavaScript 中,我们可以监听 WebUIApplication 对象的以下生命周期事件:

  • activated:在任务被激活时执行。
  • suspending:在任务被挂起时执行。
  • resuming:在任务被恢复时执行。
  • navigated:在任务导航到前台(活动状态)时执行。

具体请参考 Windows.UI.WebUI 文档。

示例代码

-- -------------------- ---- -------
-- -- -------------------------- --
----- - --------------------------- ---------------------- ------------- ---------------- - - ------------------------------------------------------------------

-- ------------
--- -------------------------- - -----

-- ------
-------- ------------------------ -
  -- ----------------------------- -
    ----- -------- - ------------------
    ----- ---------------- - --------------------------------------------------------

    -- ------------------- -
      ----- -------------- - ---------------------------
      ----- ----------- - --- -----------------------
      ---------------- - --------
      -------------------------- - --------------
      -------------------------- -----------------------------------------
      ----------------------
    -

    -------------------------- - ----
  -
-

-- ------
-------- ------------------------------ -------------- -
  ------------------------------------
  --------------------------------------
-

-- -----
-------- -------------------- -
  -- ------
  ------------------------

  -- ------
  --------------------
-

-- ---------
-------- ------------------------ -
  -- ------
  ----------------------

  -- ---------
  -- ------- --- ---------------------------------------------------------------- -
    -- ---------
    ------------------------
  - ---- -- ------- --- ------------------------------------------------------------- -
    -- ------------
    ----- - ----------- - - --------
    ----------------------------------------- ----------------------
  - ---- -
    -- -------
    -------------------------
  -
-

-- - -------------------- ---------------------------------------

总结

通过 @nodert-win10/windows.applicationmodel.calls.background 这个 npm 包,我们可以方便地使用 JavaScript 在 Windows 10 中处理来电等通话事件。

在本文中,我们介绍了该包的使用方法,以及如何注册后台任务和处理通话事件。希望对您有所帮助!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066bcd967216659e244a6e

纠错
反馈