# developer-demo-fall-detector-on-cimo **Repository Path**: moziware/developer-demo-fall-detector-on-cimo ## Basic Information - **Project Name**: developer-demo-fall-detector-on-cimo - **Description**: cimo device fall detector demo - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-04-26 - **Last Updated**: 2023-04-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Fall Detector API 文档 - [Fall detector API](#fall-detector-api-doc) - [修改记录](#修改记录) - [Fall Detector Library AAR](#fall-detector-library-aar) - [请求权限](#请求权限) - [Fall Detector Interface](#Fall-Detector-Interface) - [Fall Listener](#fall-listener) ## 修改记录 | 版本 | 更新日期 | 更新内容 | |:---:| ---------- | ---- | | 1.0 | 2023-04-19 | 创建文档 | ### Fall Detector Library AAR 使用Fall detector service,需要用到这个aar库,app/libs/falldetector-0.9.4.aar, 把它放在您应用的相同路径位置,并在gradle添加如下内容: ```java dependencies { ... implementation fileTree(dir: 'libs', include: ['falldetector-*.aar']) ... } ``` ### 请求权限 - 使用fall detector service,需要请求以下权限: `io.moziware.falldetector.CONFIGURE` - 权限等级: `normal` ### Fall Detector Interface 这个接口有以下一些方法可用: ```java /** * 绑定Fall detector service. 在主线程中调用,且只调用一次. * * @param onBindSuccessful 绑定成功后要做的事.在调用此方法前不要做其他事. */ fun bindService(onBindSuccessful: (() -> Unit)) /** *解绑Fall detector service. 不再监听跌落事件时调用,否则会发生内存泄漏. * */ fun unbindService() /** * * @return 返回当前绑定跌落服务的应用的包名. */ fun getAlertActivityPackage(): String? /** * * @return 返回当前绑定跌落服务的应用的activity. */ fun getAlertActivityName(): String? /** * * @return 返回当前是否有应用绑定了跌落服务 */ fun isBound() /** * 注册activity,当检测到设备跌落时,系统会调起它. * 使用getAlertActivityName()和getAlertActivityPackage() * 来检查当前跌落服务被绑定了哪个activity及它的包名. * * @param T activity的class * @param activityClass 当跌落被检测到时,要调起的activity * @return 注册结果 */ fun registerAlertActivity(activityClass: Class): Boolean /** * 反注册activity * * @return 反注册结果 */ fun unregisterAlertActivity(): Boolean /** * 可以设置listener对跌落检测进行监听.应用保活的前提下Activity/Service都可监听. * 如果没有任何应用注册,或注册的应用处于非活跃状态,跌落检测服务将自动进入休眠状态. * * @param 将要回调的fallListener监听者. */ fun setFallListener(fallListener: FallListener) /** * 告知跌落服务发出一个测试告警. 可测试您对此服务的使用完成度. */ fun sendTestAlert() ``` #### Fall Listener 如果您的应用在设备使用过程中一直存活,或者应用后台有一个长期活跃的服务, 我们建议您不要注册activity,而是使用FallListener来监听系统检测到的跌落值. ```java interface FallListener { /** * 当系统检测到跌落时,将回调此接口 * * @param force 返回fall detector service检测到的跌落值. */ fun onFallDetected(force: Float) } ```