连接更改上的 API 挂钩

2023-12-23

我在 Android 手机上有一个打印机检查应用程序,它的基本检查表
即使检查员没有互联网连接,也可以进行打印机检查,

一旦电话恢复接收/互联网,我想提交检查。

我正在考虑使用 Android 服务来设计应用程序
因此它将使用 sqlite 保存检查详细信息,然后当有互联网连接时重新提交检查。

但这需要服务定期检查互联网。并且会消耗大量的电池电量。

我可以为我的应用程序注册一个钩子来通知应用程序或互联网连接上的服务吗?


简单检查两者Wi-fi and Mobile互联网如下...

in 清单.xml :

<receiver android:name=".com.yourapp.ConnectivityChangeReceiver" >
    <intent-filter>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    </intent-filter>
</receiver>

做一个新的广播接收器 :

public class ConnectivityChangeReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(final Context context, final Intent intent) {

        if(checkInternet(context))
        {
            Toast.makeText(context, "Network Available Do operations",Toast.LENGTH_LONG).show(); 
        }

    }

    boolean checkInternet(Context context) {
        ServiceManager serviceManager = new ServiceManager(context);
        if (serviceManager.isNetworkAvailable()) {
            return true;
        } else {
            return false;
        }
    }
}


最后服务经理 class :

public class ServiceManager {

    Context context;

    public ServiceManager(Context base) {
        context = base;
    }

    public boolean isNetworkAvailable() {
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = cm.getActiveNetworkInfo();
        return networkInfo != null && networkInfo.isConnected();
    }
}


** 不要忘记在您的计算机中添加使用互联网的权限manifest file :

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



另请查看 vogella.com 上这篇超酷的文章Android服务 http://www.vogella.com/tutorials/AndroidServices/article.html ...

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

连接更改上的 API 挂钩 的相关文章

随机推荐

  • LISTAGG 奇怪的串联[重复]

    这个问题在这里已经有答案了 当我使用下面的查询来获取所需的详细信息时 SELECT USERNAME FULLNAME DEPARTMENT LISTAGG TASKNAME WITHIN GROUP ORDER BY TASKNAME T
  • 如何在 Xamarin 中获取 GoogleApiClient?

    我想实现类似的东西this https stackoverflow com a 25173057 2611340在我在 Xamarin 中开发的 Android 应用程序中 但找不到其中的命名空间GoogleApiClient是 有人可以帮
  • Blackberry OS 4.5 应用程序的通知服务

    我正在开发一个类似于电子邮件应用程序的应用程序 每当收到新消息时 我的通知服务应通过更新图标向用户指示更改 此外 通知服务应持续侦听服务器的传入事件 我正在使用 4 5 版本的操作系统进行开发 RIM OS 您有多种选择来通知 用户 都不是
  • 如何将 Google 地图标记链接到其他元素?

    使用谷歌地图 http code google com apis maps documentation reference html 和 JavaScript 我已经能够轻松地显示几个标记 每个标记上都有一个漂亮的小信息窗口 Create
  • 关闭 Cypress 中的 Angular 材质对话框

    我正在将 Cypress 添加到我的 Angular 6 项目中 并使用 Angular Material 欢迎新用户使用材质对话框 其中包含 iFrame 并且通过单击对话框外部来关闭该对话框 我尝试通过多种方式在 Cypress 中关闭
  • ng2-charts 更新标签和数据

    我正在尝试使用 ng2 chart 动态创建图表 我从 Angular 2 服务获取信息 当我仅更改图表标签时 它有效 当我更改数据时 它仅有效 但是当我更改两者时 仅数据在图表中更新 有人可以解释一下这种奇怪的行为吗 我的模板
  • 连接关闭后 Socat 终止

    此命令 串行端口重定向器 接受 TCP 11313 上的单个连接 socat PTY link dev ttyV1 echo 0 raw unlink close 0 TCP LISTEN 11313 forever reuseaddr 但
  • AngularJS ui-router,滚动到状态更改的下一步

    我在我的应用程序中使用 UI router 当 URL 状态更改时 我想使用一个简单的 scrollTo 到锚点 我不想从模板加载下一步 或加载新的控制器 我只是希望页面上已经有几个 div 并在它们之间上下滚动 HTML 的简化视图如下所
  • `if __name__ == '__main__'` 在 javascript es6 模块中等效

    是否可以检查 JavaScript 文件是否直接运行 或者是否需要作为 es6 模块导入的一部分 例如 包含一个主脚本 main js import other if mainTest console log This should run
  • Python 日志记录:将属于一个请求的日志分组

    有没有一种方法可以对属于一个 Web 请求的 Python Web 应用程序的日志进行分组 Example 2015 02 11 13 06 32 myapp middleware MYAPPMiddleware INFO Login of
  • 当我编译时会发生什么?

    我想知道什么是编译 编译时会发生什么 我的意思是 是的 您按编译或在控制台中输入 但它在 后台 实际上做了什么 一 编译器 lexes http en wikipedia org wiki Lexical analysis来源 这意味着它将
  • 在 Perforce 集成期间忽略源文件的正确方法

    在我的主分支中有一个包含 10 个文件的更改列表 我正在尝试将其集成到开发分支中 更改列表中的所有未完成文件都应被忽略 并且不会分支到目标中 执行集成的步骤是什么 以便 Perforce 不会在目标分支中创建文件 并忽略所有未来集成的更改列
  • C#中如何强制数字在某个范围内? [复制]

    这个问题在这里已经有答案了 在 C 中 我经常必须将整数值限制在某个值范围内 例如 如果应用程序需要百分比 则用户输入的整数不得小于零或大于一百 另一个例子 如果有五个网页 通过Request Params p 我期望值从 1 到 5 而不
  • 数据库表的子类型化

    在设计数据库时 我经常听到有关子类型化表的信息 并且我完全了解它们背 后的理论 然而 我从未真正见过表子类型的实际应用 如何创建表的子类型 我正在使用 MS Access 并且正在寻找一种在 SQL 中以及通过 GUI Access 200
  • 如何通过多个属性Java8对HashMap条目值进行排序[重复]

    这个问题在这里已经有答案了 如何按多个属性对 HashMap 条目进行排序 假设我有一个键为 String 且值为 Object 的映射 Map
  • 在centos上专门在python 2.7中安装MySQLdb

    我正在使用 CentOS 版本 6 5 最终版 我目前使用的是python 2 4 在其中我可以毫无问题地使用MySQL root dedicado home digicelc public html gestion python cate
  • JUNIT:对于大量测试类仅运行一次安装程序

    我有一门课程 我用它作为单元测试的基础 在这个类中 我初始化了测试的整个环境 设置数据库映射 在多个表中输入大量数据库记录等 该类有一个带有 BeforeClass 注释的方法来执行初始化 接下来 我使用具有 Test 方法的特定类来扩展该
  • 有没有办法在循环内部知道您是否处于最终迭代?

    在迭代数组 或任何其他可枚举 时 是否有任何干净且简单的方法可以知道您是否处于最终迭代 例如 在 Rails 视图中 您可能要显示一组内容 并且您可能希望在它们之间放置一条水平线 但不要在每个内容之前 也不要在每个内容之后 仅限于他们之间
  • git 中缺少提交的更改

    我有一个由几个人组成的团队 使用 git flow 方法 master develop hotfixes features releases 和一个远程裸存储库 在同一个 git 存储库上工作 我们有一个包含一些提交的修补程序 已成功合并到
  • 连接更改上的 API 挂钩

    我在 Android 手机上有一个打印机检查应用程序 它的基本检查表即使检查员没有互联网连接 也可以进行打印机检查 一旦电话恢复接收 互联网 我想提交检查 我正在考虑使用 Android 服务来设计应用程序因此它将使用 sqlite 保存检