@nativescript-community/motion-activity
NativeScript 动态活动检测插件
npm i --save @nativescript-community/motion-activity

@nativescript-community/motion-activity

Downloads per month NPM Version

NativeScript 动态活动检测插件


iOS 示例 Android 示例

目录

安装

从您的项目的根目录运行以下命令

ns plugin add @nativescript-community/motion-activity

iOS

别忘了将 NSMotionUsageDescription 添加到您的应用的 Info.plist

用法

import ActivityRecognition from '@nativescript-community/motion-activity'
import { request } from '@nativescript-community/perms'
const activityRecognition = ActivityRecognition.getInstance();

activityRecognition.on(ActivityRecognition.activityEvent, function (eventData) {
const activityType = eventData.activity.type;
const activityConfidence = eventData.activity.confidence;

...
});

if (__ANDROID__ && android.os.Build.VERSION.SDK_INT >= 29) {
// on android >= 29 you need to request permission at runtime
const result = await request('android.permission.ACTIVITY_RECOGNITION');
if (result[0] !== 'authorized') {
throw new Error('missing ACTIVITY_RECOGNITION permission: ' + result[0])
}
}
activityRecognition.start();

示例

  • 基本
    • 一个基本用法示例。

演示和开发

仓库设置

该仓库使用子模块。如果您没有使用 --recursive 克隆,则需要调用

git submodule update --init

用于安装和链接依赖项的包管理器必须是 pnpmyarnnpm 不可用。

为了开发和测试:如果您使用 yarn,则运行 yarn;如果您使用 pnpm,则运行 pnpm i

交互式菜单

要启动交互式菜单,请运行 npm start(或 yarn startpnpm start)。这将列出所有常用脚本。

构建

npm run build.all

警告:似乎 yarn build.all 不会始终工作(在 node_modules/.bin 中找不到二进制文件),这就是为什么文档明确使用 npm run

演示

npm run demo.[ng|react|svelte|vue].[ios|android]

npm run demo.svelte.ios # Example

演示设置有点特殊,如果您想修改/添加演示,您不直接在 demo-[ng|react|svelte|vue] 中工作。相反,您在 demo-snippets/[ng|react|svelte|vue] 中工作。您可以从每个风格的 install.ts 开始,看看如何注册新的演示

贡献

更新仓库

您可以非常容易地更新仓库文件

首先更新子模块

npm run update

然后提交更改,然后更新通用文件

npm run sync

然后您可以运行 yarn|pnpm,如果有的话,提交更改的文件

更新说明

npm run readme

更新文档

npm run doc

发布

发布完全由 lerna 处理(您可以将 -- --bump major 添加为强制主要版本发布)只需运行即可

npm run publish

修改子模块

该仓库使用 https:// 子模块,这意味着您将无法直接推送到子模块。一个简单的解决方案是修改 ~/.gitconfig 并添加

[url "ssh://[email protected]/"]
pushInsteadOf = https://github.com/

问题

如果您有任何问题/问题/评论,请随时创建问题或开始在 NativeScript 社区 Discord 中进行对话。