关闭 GPS 时广播接收器调用了 2 次?

2024-02-14

显现:

<receiver android:name=".GpsLocationReceiver">
    <intent-filter>
        <action android:name="android.location.PROVIDERS_CHANGED" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</receiver>

广播接收器:

public class GpsLocationReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d(TAG, "onReceive...");
        if(intent.getAction().matches("android.location.PROVIDERS_CHANGED")) {
            Log.d(TAG, "GPS provider changed...");
            EventBus.getDefault().postLocal(intent.getAction());
        }
    }

}:

我遇到了同样的问题,但没有找到问题的根源。这似乎是设备或操作系统版本特定的问题。

要知道该消息已被调用,您可以有一个静态布尔值,它在连接和断开连接之间切换,并且仅在收到连接并且布尔值为 true 时调用您的子例程。就像是:

  private static boolean firstConnect = true;

  @Override
  public void onReceive( Context context, Intent intent )
  {
      //Receive called twice because of device or OS version specific issue.  
      final LocationManager manager = (LocationManager) context.getSystemService( Context.LOCATION_SERVICE );

      if (manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {

          //enable
          if(firstConnect){
              sendStatus("on",context);
              firstConnect=false;
          }

      }else{

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

关闭 GPS 时广播接收器调用了 2 次? 的相关文章

随机推荐

  • Angular 4 自定义装饰器 - 注入服务

    我想在我的应用程序中创建一个身份验证装饰器 用法示例应该很简单 RequireAuthentication HostListener click event onClick event Event 据我所知装饰器只能是函数 所以在其他一些文
  • 为 NAT 后面的主机检索外部 IP 的稳定方法

    基本上我想显示主机外部面向公众的 IP 地址 无论它是否是 natted lan 的一部分 我现在所做的只是连接到 myipaddress com 并从那里检索它 我只是不知道我是否信任该网站作为稳定的来源 是否有一些权威机构可以促进这一点
  • AngularJS:如何使用 ng-animate 在加载时对 ng-repeat 进行动画处理

    Folks 我如何获得使用创建的divng repeat向下滑动 我的意思是在负载时尺寸增大 我想使用来实现这个ng animate并且动画应该在页面加载时触发 我正在看this http docs angularjs org api ng
  • 如何使.rdlc报告中的tablix从右侧开始并向左扩展?

    我正在开发一个项目 Windows 窗体 并且有一个包含多个列的 rdlc 报告 当所有列都可见时 列从右到左完美显示 但当隐藏某些列时 每个隐藏列的右侧都会留下一个空白 换句话说 每个隐藏列都有不可见的内容 但其位置仍然存在 我尝试了几乎
  • Python copy.deepcopy() 失败,但没有引发警告、异常或错误

    这个问题与另一个问题 https stackoverflow com questions 22683755 issue while trying to copy pyside object我昨天发布了 尽管它本质上更普遍 由于我提到的线程
  • 如何判断IPv6地址是否私有?

    我试图确定给定的 IPv6 地址在 C 中是否是私有的 并且我很想简单地使用 IPAddress 类上的 IsIPv6SiteLocal 属性 然而 正如本节中所解释的comment https stackoverflow com ques
  • 使用 PDFBox 填充横向 PDF

    我尝试使用 PDFBox 填写 PDF 表单 并成功地使用纵向文档完成了这一工作 但我在横向模式下填写文档时遇到问题 字段已填满 但文本方向不好 它看起来是垂直的 就像它仍然是纵向的 但旋转了 90 度 这是我的简化代码 PDDocumen
  • 如何在没有 xml 配置的情况下使用 JasperReportsPdfView

    我想要一个控制器方法从 JasperReports jrxml 文件返回 PDF 而不使用任何 xml 配置 我想用一个JasperReportsPdfView 这有可能吗 我知道这可以只用 Java 代码来完成 就像这个博客中一样 htt
  • 为什么fragment中的生命周期方法是公开的,而activity的生命周期方法是受保护的?

    该活动被保护封装在框架包 android app 和子类中这个链接 https stackoverflow com questions 20161662 why are lifecycle methods in activity class
  • 当父元素有最小高度/最大高度值但没有高度值时,为什么子元素上的 height: 100% 不适用?

    假设我们有以下设置 container background color red width 500px min height 300px child background color blue width 500px height 100
  • 日期范围内的 SQL 分割数

    我有一个表 例如这个数据 ID start date end date amount a1 2013 12 01 2014 03 31 100 我想要一个分割日期的查询 这样我就可以将全年的金额分割出来 如下所示 ID org start
  • c# - 数组从哪里继承(即 .int[] )

    创建数组时 例如int 它是否继承自任何东西 我认为它可能继承自 System Array 但查看编译后的 CIL 后发现并非如此 我认为它可能继承自 System Array 或类似的东西 考虑到您可以调用方法并访问数组上的属性 I e
  • 使用 C 编程频谱图 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试用 C 语言制作音频频谱图
  • 向量数学,求角度

    我试图通过编写一个小型 2D 游戏来学习 XNA 它是一个自上而下的视角 我尝试进行双重移动 使用左右和上下键沿轴移动 以及向右看鼠标光标 以便玩家可以同时奔跑和瞄准 我有一个用于玩家位置的向量 m PlayerPos 一个用于鼠标位置的向
  • 如何在 NestJS 中为每个新的 HTTP 请求使用新实例?

    我有一个 API 并且正在尝试发送请求 这是有效的 但我注意到在收到回复后 这些类并没有被销毁 我目前正在使用 NestJS 但是当我尝试测试时 nodeJS ExpressJS 也遇到了这个问题 我正在使用以下代码 Injectable
  • 如何计算两个地点之间的时差

    我在计算两个时区之间的时差时遇到问题 如果我在位置 A 我知道纬度和经度以及当前时间 我去位置B我知道纬度和经度以及当前时间 如何计算当前两个点之间的时间差 以UTC为单位 首先获取一个可以转换纬度 经度以获取国家 地区和州 省的数据库或库
  • 为什么我的 SQL“NOT IN”子句产生与“NOT EXISTS”不同的结果

    当我期望两个 SQL 查询产生相同的结果时 它们会产生不同的结果 我正在尝试查找没有相应位置的事件的数量 所有位置都有事件 但事件也可以链接到非位置记录 以下查询生成计数 16244 这是正确的值 SELECT COUNT DISTINCT
  • 定义双感叹号?

    我理解双感叹号的作用 或者我认为我理解 但我不确定它是如何在随机对象上定义的 例如下面的代码片段 Assignment a if getAssignment query a return false hasSolution a if a r
  • uint 和 unsigned int 之间的区别?

    有什么区别吗uint and unsigned int 我正在查看此网站 但所有问题都涉及 C 或 C 我想要一个关于C语言的答案 如果相关的话 请注意我在 Linux 下使用 GCC uint不是标准类型 unsigned int is
  • 关闭 GPS 时广播接收器调用了 2 次?

    显现