屏幕关闭时检测手机移动

2023-12-13

我正在开发一个应用程序,它应该检测用户的移动,当他停止超过 5 分钟时,它应该发出警报。我能够使用加速度计检测运动,但问题是屏幕关闭时它不起作用。我也尝试过使用部分wakeLock。重新注册加速度计也不起作用(这应该是摩托罗拉设备的解决方法)。

也许我可以使用 GPS 来做到这一点,并在 GPS 速度低于 1m/s 且持续时间超过 5 分钟时发出警报,但我不确定屏幕关闭时是否会收到 GPS 更新。

因此,我需要一种解决方案,即使大多数设备上的屏幕关闭,也能检测用户的移动。关于如何实现这一点有什么想法吗?

感谢转发


您应该获得部分wake lock对于这种操作。使用 PowerManager 类。

像这样的事情:

PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
PowerManager.WakeLock lock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,  "SensorRead");
lock.acquire();

您还需要此权限AndroidManifest.xml:

 <uses-permission android:name="android.permission.WAKE_LOCK" />

推荐使用lock.release();当你完成你的工作时。

EDIT:

还有,这个article可能对你有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

屏幕关闭时检测手机移动 的相关文章

  • 如何在 Android 中保存相机的临时照片?

    在尝试从相机拍照并将其保存到应用程序的缓存文件夹中时 我没有得到任何可见的结果 应用程序不会崩溃 但在 LogCat 上 当我尝试将 ImageView src 字段设置为刚刚获取的文件的 URI 时 我收到此消息 09 17 14 03
  • 如何快速自动发送FCM或APNS消息?

    我正在开发一项后端服务 通过 FCM 或 APNS 向移动应用程序发送推送通知 我想创建一个可以在一分钟内运行的自动化测试 并验证服务器是否可以成功发送通知 请注意 我不一定需要检查通知是否已送达 只需检查 FCM 或 APNS 是否已成功
  • Android Studio 3.0 Canary 9 - 无法解析包

    我在 Android Studio 3 0 Canary 9 中遇到几个错误 这些错误是 无法解析 android 软件包 下面列出了一些错误 我刚刚安装了 SDK 的所有额外软件包 但仍然收到 gradle 构建错误 Error 82 1
  • 类型容器“Android 依赖项”引用不存在的库 android-support-v7-appcompat/bin/android-support-v7-appcompat.jar

    我在尝试在我的项目中使用 Action Bar Compat 支持库时遇到了某种错误 我不知道出了什么问题 因为我已按照此链接中的说明进行操作 gt http developer android com tools support libr
  • 如何重试已消耗的 Observable?

    我正在尝试重新执行失败的已定义可观察对象 一起使用 Retrofit2 和 RxJava2 我想在单击按钮时重试特定请求及其订阅和行为 那可能吗 service excecuteLoginService url tokenModel Ret
  • 在 ViewPager Fragments 中使用 Master/Detail 模板(下载链接)

    工作代码 https github com lukeallison ViewPagerMasterDetail https github com lukeallison ViewPagerMasterDetail Android 主 详细流
  • 计数物体和更好的填充孔的方法

    我是 OpenCV 新手 正在尝试计算物体的数量在图像中 我在使用 MATLAB 图像处理工具箱之前已经完成了此操作 并在 OpenCV Android 中也采用了相同的方法 第一步是将图像转换为灰度 然后对其进行阈值计算 然后计算斑点的数
  • CollapsingToolBarLayout - 状态栏稀松布颜色不改变

    几天前我更新了我的 android studio 并开始使用 CoordinatorLayout 和 CollapsingToolbarLayout 只是尝试一些东西 工具栏稀松布颜色似乎覆盖了状态栏初始颜色和状态栏稀松布颜色 从 xml
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • 一次显示两条Toast消息?

    我希望在一个位置显示一条 Toast 消息 并在另一位置同时显示另一条 Toast 消息 多个 Toast 消息似乎总是按顺序排队和显示 是否可以同时显示两条消息 是否有一种解决方法至少可以提供这种外观并且不涉及扰乱活动布局 Edit 看来
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • 将 Intent 包装在 LabeledIntent 中以用于显示目的

    要求 我的应用程序中有一个 共享 按钮 我需要通过 Facebook 分享 我需要选择是否安装原生 Facebook 应用程序 我们的决定是 如果未安装该应用程序 则将用户发送到 facebook com 进行分享 当前状态 我可以检测何时
  • android sdk 的位置尚未在 Windows 操作系统的首选项中设置

    在 Eclipse 上 我转到 windows gt Android SDK 和 AVD Manager 然后弹出此消息 Android sdk 的位置尚未在首选项中设置 进入首选项 在侧边栏找到 Android 然后会出现一个 SDK 位
  • Crashlytics 出现 Android Studio 构建错误

    我正在尝试将 CrashLytics 与 Android Studio 和 gradle 一起使用 但出现一个令人困惑的错误 java lang NoSuchMethodError 我的 build gradle 是 buildscript
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • Native-session 针对代码点火器 2.1.4 进行了修改...这有意义吗?

    有人看到 CI 2 1 4 的修改有问题吗 该类是为 1 7 2 编写的 Github链接 问题 1 regenerate id的用途是什么 是会话 ID 轮换吗 2 session write close的潜在问题是什么 如评论中所示 3
  • 从c#中查找msform上的所有控件

    我正在尝试使用 VBA 可扩展性互操作从 c 查找 msform 上的所有控件 我可以使用以下方式找到所有表格 using System using Microsoft Office Interop Excel using Microsof
  • 如何使用 Python Urwid 制作类似聊天的 UI? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我已经可以使用 gevent 和 Zeromq 实现聊天守护进程 但我想为它们制作一个控制台 UI 我第一次尝试 ncurses 失败了 所以我尝试了Urwid并发现该项目nig
  • 用Java制作数字时钟

    我正在为一个项目制作一个数字时钟 我有四个课程 DigitalTimeUI 这是 JFrame 类 TitlePanel DigitPanel and ColonPanel 它们是所述项目的 JPanel 完成后 它应该看起来像这样 我坚持
  • 无法让 selenium webdriver 在 azure databricks 中工作

    我们有一些 python 脚本可以抓取网站并且运行良好 现在我们想在 Azure Databricks 中执行此操作 我们认为我们可以通过 Databricks 论坛中的以下帖子找到解决方案 但不幸的是 它不起作用 https forums
  • 将两个 datagridview 列合并为一个新列

    我想将两个 datagridview 列合并为一个新列 我首先将两个 col 的 Visible 属性更改为 false 然后尝试添加新的 col 该值必须格式化为以下 col1 Value 基金 col2 Value 是以上列的值 str
  • Ubuntu 中的 .gradle 目录在哪里?

    在 Windows 中 它是 C Users me gradle 但是Ubuntu呢 它在不同的位置吗 如果是的话 在哪里 我到处寻找但找不到它 它应该位于 HOME gradle gradle 和 或 项目特定
  • 如何将我的应用程序添加到 Android 默认拨号器选择中?

    我的问题是如何将我的应用程序添加到 android 默认拨号器选择中 更具体地说 而不使用 android intent action CALL PRIVILEGED 现在我正在使用下面的代码 效果很好
  • 从 React TypeScript 组件调用外部 Javascript 函数

    我有一个带有打字稿的 React Redux 应用程序 所以场景是这样的 我有一个包含一些javascript的index cshtml文件 现在 在我的 React 组件上 在 componentWillMount 函数的 Main ts
  • 使用 savefiledialog 保存图像时出现问题

    我正在使用 savefiledialog 来保存图像 画布是图片框 加载的图像是位图 当我尝试保存它时 文件已创建 但不知何故已损坏 因为当我尝试再次加载图像或在不同的查看器中显示时它不起作用 我的意思是保存的文件已损坏 有一种保存图像的方
  • 这个 LLVM 1.5 警告是什么意思? “没有‘id’的协议限定符已经过时了”

    我刚刚尝试使用 LLVM 1 5 编译器 包含在 XCode 3 2 3 中 编译 iOS 项目 并且收到了很多新警告 其中包括以下几个警告 protocol qualifiers without id is archaic 例如 这发生在
  • 标准化矩阵行,使其范数等于 1 (MATLAB)

    我有一个以下问题 我有一个矩阵A尺寸为 16x22440 我需要做的是对该矩阵的每一行进行归一化 使每行的范数等于 1 for n 1 16 norm A n 1 我怎样才能在matlab中实现这一点 编辑 该矩阵中的每一行都是由 160x
  • D3 径向树状图仅显示部分

    我根据 Mike Bostock 在 Observable 中的示例创建了下面的代码 我知道它与原始 d3 javascript 不同 https observablehq com d3 radial dendrogram 然而 它 仅当我
  • ios编程:使用线程将多个图像添加到库中

    在 Xcode 中 当我尝试添加超过 5 张图片到我的图书馆 它给了我以下错误 Error Domain ALAssetsLibraryErrorDomain Code 3301 Write busy UserInfo 0xa706aa0
  • 如何在 Today 扩展中发送和接收数据

    我想开发一个具有通知中心小部件的 iOS 应用程序 但我不知道应该如何在视图控制器和今日扩展之间发送和接收数据 传递数据 我尝试使用结构 但它不起作用 而且我也使用了应用程序组 但我不想使用这种方法 let shared NSUserDef
  • 以编程方式禁用 Android 中软输入键盘上的语音转文本按钮(麦克风)

    先谢谢您的帮助 我正在开发一个用于研究目的的 Android 应用程序 需要禁用软输入键盘上的语音到文本按钮 其原因是由于我正在开发的应用程序使用麦克风而出现并发问题 我知道对于一般应用程序来说 禁用按键通常被认为是不可能的 因为用户可能会
  • 使用 Spring Reactor 时为什么要使用断路器和隔板?

    请帮助我找到断路器和隔板模式在 Spring Reactor 应用程序中有用的原因 由于 Reactor 中的操作将是非阻塞的 并且这两种模式旨在节省对资源 主要是线程 的潜在影响 因此在什么情况下我可以使 Spring Reactor 应
  • 如何“独立”使用PolicyHttpMessageHandler?

    我只是想创建一个简单的测试 我使用DelegateHandlers实例化一个HttpClient无需带Asp net Core包 我有 2 个删除处理程序 ThrottlingDelegatingHandler PolicyHttpMess
  • 如何在闪亮中设置两个相关输入值(滑块和数字)的初始值?

    我已经在我闪亮的应用程序中定义了两个互连或相互依赖的输入 现在 我的问题是为这些滑块和数字输入设置特定的初始值 似乎他们总是从最小值开始 即使我现在也不知道为什么 如何指示这些输入参数的唯一起点或初始值 我附上了我的应用程序的简化部分 以便
  • 屏幕关闭时检测手机移动

    我正在开发一个应用程序 它应该检测用户的移动 当他停止超过 5 分钟时 它应该发出警报 我能够使用加速度计检测运动 但问题是屏幕关闭时它不起作用 我也尝试过使用部分wakeLock 重新注册加速度计也不起作用 这应该是摩托罗拉设备的解决方法