在服务内调用 getSystemService

2023-12-11

我正在尝试编写一项在 Gear Live 上获取心率的服务,遵循此处的问题从“传感器”Samsung Gear Live 获取心率

如果我把这部分

    Log.d(TAG, "prepare to call getSystemService");
    mSensorManager = ((SensorManager)getSystemService(SENSOR_SERVICE));
    Log.d(TAG, "after calling getSystemService");

at onCreate()一项活动,效果很好。但如果我将其转移到服务中,它会抛出 NPE。我尝试添加this.在 `getSystemService 前面,没有帮助。任何提示,谢谢


我明白了,原因就在里面getSystemService,有一个对此函数的调用:

 @Override
public Object getSystemService(String name) {
    return mBase.getSystemService(name);
}

其中有mBase为空。这是一个Context目的。所以我必须将启动服务的活动的上下文放入onCreate()。代码如下:

 public HeartRateMonitorService(Context context){
    super();
    mBaseConext = context;
}


@Override
public void onCreate() {
    super.onCreate();
    attachBaseContext(mBaseConext);
}

我不确定这是否是最佳解决方案,但它是一种解决方法。

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

在服务内调用 getSystemService 的相关文章

随机推荐

  • 文本在 li 内垂直对齐

    ul li img src Content img pdf png Catalogue li li img src Content img pdf png Manual Data li li img src Content img pdf
  • Google 应用脚本触发器 ID 格式

    我正在开发 Google 电子表格项目 通过脚本添加 删除基于时间的触发器 所有触发的触发器都将运行一个函数 该函数将检查其 Id 并相应地运行函数 我正在保存启动触发器并使用此代码保存它的 id function startTimer r
  • Altair 中的平行坐标

    我想做一个具有多个 y 轴的平行坐标图 我已经找到了如何在 Vega Lite 中做到这一点here但我还没有找到使用 Altair 的方法 只有一个非常简单的例子其中所有 y 轴都相同 有什么办法吗这个情节在牵牛星 请注意 这种图表不是
  • 真实用户ID、有效用户ID和保存用户ID之间的区别

    我已经知道真实用户ID 它是系统中用户的唯一编号 在我的系统上 我的uid is echo UID 1014 另外两个ID代表什么 以及有什么用有效用户id and 已保存的用户 ID我们在系统中的什么地方使用它们 区分真实用户 ID 和有
  • 在iOS7半透明导航栏中获取正确的颜色

    如何为 iOS 7 中的半透明导航栏获得正确的颜色 导航栏只是将给定的颜色调整为更亮的颜色 更改颜色的亮度或饱和度也无法提供正确的结果 有人有同样的烦恼吗 看看 Facebook 它似乎以某种方式起作用 他们有自己的颜色和半透明的导航栏 编
  • SSIS 循环遍历 Excel 工作表

    我正在使用SSIS2012 我试图将大约25个excel文件 每个文件包含大约70个 变量 表 导入到SQLserver2008中 我已经构建了它 以便它将循环遍历所有 Excel 工作表并导入第一个工作表 但这没有用 我如何循环所有 Ex
  • 将文件直接上传到 GAE 应用的 Google Cloud Storage

    我正在考虑从 Blobstore 切换到 Google Cloud Storage 以处理项目中的图像上传等问题 因为 Google 称 Blobstore 为 取代 在 Blobstore 中 多部分表单将直接提交 上传 到 Blobst
  • 在 ansible playbook 中使用 gitlab-ci vars

    我想使用 Ansible playbook 在 docker 容器内设置远程环境 该剧本将从 gitlab ci 运行 其中包含我在 Gitlab CI CD 配置中设置的变量 我怎样才能做到这一点 这是我想使用的模板 我该如何设置user
  • C 中的常量返回类型

    我正在阅读一些代码示例 它们返回了 const int 当我尝试编译示例代码时 出现了有关返回类型冲突的错误 所以我开始搜索 认为 const 是问题所在 当我删除它时 代码工作正常 不仅可以编译 而且按预期工作 但我从未能够找到专门与 c
  • 查找字符串中长度最大的所有单词

    我想从字符串中找到长度最大的所有单词 目前 结果只是第一个长度最大的 jumped1 而我想要它们全部 jumped1 jumped2 我该如何调整以下内容 function test str var newStr str split va
  • 同步多个 UITableView 实例的滚动位置

    我有一个项目 我需要在其中显示多个UITableViewiPad 上同一视图内的实例 它们也恰好被轮换 但我相当确定这是无关紧要的 用户应该不知道视图是由多个表视图组成的 因此 我想做到这一点 以便当我滚动一个表视图时 其他表视图也会同时滚
  • Hibernate Envers:跟踪 OneToMany 关系拥有方的修订

    我有两个经过审计的实体 A 和 B 实体 A 拥有实体 B 的集合 注释为一对多关系 将 A 的新实例插入数据库时 A 和 B 的所有行都处于同一修订版 假设为修订版 1 然后 A 上有更新 仅影响实体 B 的实例 级联类型为合并 因此 更
  • 如何使用 Puppeteer 访问 React 事件处理程序

    我不完全确定我明白我的要求 我希望有人能解释一下 我正在尝试在 NodeJS 上使用 Puppeteer 抓取网站 我已经选择了我需要的元素并访问它的属性 但是 我无法访问我需要的属性来提取我想要的信息 我想要的信息在下面的绿色框中 但是我
  • 为什么即使使用前向声明,我也不能在 BEGIN 块中调用稍后定义的 sub?

    这有效 use strict X xxxxxx sub X print shift 这会产生一个错误 use strict BEGIN X xxxxxx sub X print shift Error Undefined subroutin
  • 通过 REST 在超级账本上部署链代码时出现“获取链代码包字节时出错”

    我正在尝试通过 POST REST 在 hyperledger Bluemix 服务 上部署链码 链码 查询规范 jsonrpc 2 0 方法 部署 参数 类型 1 chaincodeID 路径 https github com romeo
  • 翻译微风验证消息

    改进我的示例 了解如何使用获得的元数据在淘汰赛中创建验证规则 http stackoverflow com questions 13662446 knockout validation using breeze utility 现在我使用微
  • 防止 GDB 单步执行函数(或文件)

    我有一些像这样的 C 代码 我正在使用 GDB 逐步执行 void foo int num void main Baz baz foo baz get 当我在main 我想步入foo 但我想跨过去baz get The GDB docs说
  • 如何推送(即刷新)发送到 TCP 流的数据

    RFC 793说TCP定义了一个 推送 函数来确保接收者收到数据 有时用户需要确保他们拥有的所有数据 提交给TCP已经传输了 为此目的一推 函数已定义 确保提交给 TCP 的数据是 实际传输的发送用户表明它应该是 推送给接收用户 推送会导致
  • 报亭应用程序需要推送通知吗?

    如果我提交一个不使用推送通知的报刊亭应用程序 而是在每次用户启动该应用程序时向我的服务器查询新内容 苹果会拒绝我的应用程序吗 IE 用户是否期望在所有报亭应用上推送 Thanks 不 Apple 的指南并不强制要求使用推送通知 并且您的应用
  • 在服务内调用 getSystemService

    我正在尝试编写一项在 Gear Live 上获取心率的服务 遵循此处的问题从 传感器 Samsung Gear Live 获取心率 如果我把这部分 Log d TAG prepare to call getSystemService mSe