如何在android中使用IntentService重新启动服务

2023-12-28

我能够停止我的 ServiceA(它开始使用AlarmManager)当IntentService正在通过发送广播来运行IntentService到广播接收器。我想在我之后再次启动相同的 ServiceAIntentService完成了他的工作。

前我有服务SrvA,意向服务IntSrvB和广播接收器MyBcr。当我的IntSrvB跑步我能停下来SrvA.我的问题是如何重新启动SrvA再次当我的IntSrvB完成他的工作。

Note-ServA开始使用AlarmManager.


EDIT:根据您的代码,您可以传递变量myIntent & myIntent2进入你的IntentService类 - 然后您可以使用它们重新创建与AlarmManager.

请注意,看起来您为每个意图设置了一个警报,该警报“现在”重复一次,然后每隔一段时间重复一次。然后,您再次隐式启动该服务,即“现在”启动该服务两次。这看起来像是一个错误 - 查看文档AlarmManager.setRepeating() http://developer.android.com/reference/android/app/AlarmManager.html#setRepeating%28int,%20long,%20long,%20android.app.PendingIntent%29 method.


原答案如下...

把这个放入你的IntentService:

@Override
protected void onHandleIntent(Intent intent)
{
    try
    {
        // STOP SERVICE

        // DO YOUR WORK HERE
    }
    finally
    {
        // START SERVICE
    }

}

您已经拥有停止服务的代码。您可以从您的帐户中获取“启动服务”代码BroadcastReceiver并将其放入finally块中。

我不建议覆盖onDestroy()一般在Android上。

NOTE:我认为这不是设计应用程序的最佳方式,但我正在回答您的问题。就我个人而言,我的 main 中有一个方法Service能够禁用和启用其功能 - 然后调用该方法而不是启动和停止服务。

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

如何在android中使用IntentService重新启动服务 的相关文章

  • 如何设置日期选择器的日期?

    I use DatePickerDialog OnDateSetListener效果很好 我想在日期选择器中添加 120 天的日期 我的意思是 如果我添加 120 天 日期和月份将自动更改 怎么做 像这样的事情应该可以解决问题 Calend
  • 现实世界中的 JavaCard 3?

    我目前正在从事我的文凭工作 部分工作包括开发JavaCard常规小程序SIM牌 第一个选项是使用JavaCard2 X API并使用APDU与小程序通信的命令 这可能非常棘手 因为我需要为 android 开发客户端应用程序 它将与这个小程
  • listview getChildAt() 返回 null

    我一直在做一个android项目并陷入了一个问题 我用谷歌搜索但没有找到答案 在我的项目中 有一个名为viewsurahfragment它包含一个 id 为的列表视图lv showquran 我想突出显示指定索引处的列表视图的视图 我正在使
  • 在 Android 中使用 PhoneGap 打开 PDF

    我需要打开一个位于 url 中的 PDF 文件 我需要用 PDF 查看器打开它 有可能的 谢谢大家 此致 我建议使用儿童浏览器插件 https build phonegap com blog childbrowser plugin并使用 G
  • 文件 API - Phonegap?

    谁能解释如何使用适用于 Android 的 Phonegap 文件 API 在页面上列出文件文件夹 我想列出所有 mp3如果可能的话 请阅读文件 但已阅读所有phonegap文档 http docs phonegap com en 1 0
  • 5.1 崩溃 - 任务描述的主要颜色应该是不透明的

    我已经在我的应用程序中实现了材料设计 它在 FATAL EXCEPTION main Process com test test PID 3195 java lang RuntimeException Unable to start act
  • 将倒计时器从 10 秒改为 1 秒

    我有一个倒计时器 它以 1 秒的增量从 10000 毫秒倒计时到 0 毫秒 以使按钮在 10 秒后可单击 尽管计时器是准确的并且按照代码的说明执行操作 但我想更改秒的表示方式 但我不知道如何更改 java void startTimer c
  • 来自 InputStream 的 Android 通用图像加载器 URI

    我想问一下UIL URI是从InputStream输入的 因为我的图像源来自 ZIP 然后我必须提取它才能显示该图像 因为图像太大 我必须使用UIL库 任何人都知道如何从InputStream插入UIL 我认为你可以这样做类似于从数据库加载
  • 如何测试返回DataSource.Factory的Dao方法?

    转移后从SqliteOpenHelper to room在我的应用程序中 我尝试编写测试DAO class 我的 DAO 看起来像这样 Query SELECT FROM cards fun getAllCards List
  • Appcelerator 与 Android SDK

    我一直在看appcelerator 它看起来很不错 毫无疑问 appcelerator的优势之一就是它对多平台的支持 我有兴趣构建一个 Android 应用程序 也许稍后还会构建一个 iPhone 应用程序 所以目前支持多平台并不重要 如果
  • eclipse 找不到我的 sdk 文件夹

    我已经在 Windows 7 上的 eclipse helios 上安装了 android sdk 和 adt 插件 但是 当我进入首选项时 我在定位 sdk 位置时遇到了问题 我的 SDK 位置是 C Program Files Andr
  • 从主线程查询android中的数据库

    我使用的是 sql lite 通常查询 1 个表 如果我从主 ui 线程进行查询会不会很糟糕 谢谢 这取决于 如果您的表确实很大 则执行查询可能需要一些时间 并且可能会导致您的应用程序出现明显的延迟 还有 你说你usually仅查询一张表
  • android.os.FileUriExposedException 在 Oreo 中引起(仅!)[重复]

    这个问题在这里已经有答案了 从 Google Play Console 中 我可以看到此异常仅发生在 Android 8 0 的设备上 android os FileUriExposedException at android os Str
  • AWS Cognito-获取带有ID的用户信息

    有没有什么方法可以获取 AWS Cognito 池 在 Android 上 中未登录的用户的信息 并知道他的 ID 我尝试了该代码 AppHelper getPool getUser username getDetailsInBackgro
  • Android:传递给 AESObfuscator 的随机 SALT 字节是否需要保持不变?

    我正在 Android 应用程序中实现许可 并且需要将一个 20 字节的数组传递到 AESObfuscator 然后再传递给 ServerManagedPolicy 对象 这个数组可以在每次运行代码时随机生成 还是必须硬编码 现在我正在随机
  • 是否可以自定义首选项标题布局?

    我发现了类似的问题 但找不到最新的具体答案 我在用着
  • PhoneGap文件传输错误1、哪里写FileTransfers?

    相关 https stackoverflow com questions 21044197 download file and store them locally in sdcard using phonegapbuild https s
  • 如何保存/加载 BigInteger 数组

    我想保存 加载BigInteger数组传入 传出 SharedPreferences 如何做呢 例如对于以下数组 private BigInteger dataCreatedTimes new BigInteger 20 Using Gso
  • 如何以编程方式将 Android 设备连接到“WPA2 PSK”安全 WiFi 热点网络?

    在我的 Android 应用程序中 我尝试将我的 Android 设备连接到 WPA2 PSK 安全连接 经过大量搜索后 我编写了以下代码 if securityMode equalsIgnoreCase WPA2 WPA2 wifiCon
  • 尝试在 android 中更新 sqlite 数据库时出错

    我的数据库正在运行 但我插入的所有记录都是为了检查目的 现在我想删除所有表并创建新表 所以我尝试通过更改版本来更新数据库 我没有对创建表查询进行任何更改 但外键约束失败 代码 787 这是我的DBHelper class private s

随机推荐

  • Android 应用程序如何延迟手机启动时的服务启动

    你好 当我的应用程序收到 ACTION BOOT COMPLETED 时 它会启动一项服务 我想延迟 60 秒 我可以在以下位置这样做吗 public class StartAtBootServiceReceiver extends Bro
  • 克隆特定分支

    我是 git 版本控制的新手 我不知道如何克隆 拉取存储库的特定分支 尝试获取分支master项目的 但默认为分支test 1 我尝试过使用命令git clone但它抓住了默认test 1 我也尝试过阅读其他问题 但这些命令让我感到困惑 我
  • addGlobalMonitorForEventsMatchingMask 在某些计算机上不起作用

    我正在使用此代码在我的应用程序中捕获全局键盘快捷键 这在我运行它的几乎每台计算机上都非常有效 本周我在全新的 Retina Macbook Pro 上尝试了它 addGlobalMonitorForEventsMatchingMask根本不
  • 在 Woocommerce 结帐中设置 billing_address_2 标签

    我正在尝试在 Woocommerce 结帐页面上设置 显示 billing address 2 字段的标签 但找不到执行此操作的方法 有谁知道解决方案吗 下面的代码 在其他领域工作正常 不能完成这项工作 add filter woocomm
  • 数字输入 - 始终显示旋转按钮

    在谷歌浏览器中 input type number 旋转按钮仅在悬停时显示 这是我使用的代码
  • Azure 模拟器/IIS Express 和 SSL 客户端证书身份验证出现 web.config 错误

    在任何人感到困惑之前 这是为了IIS 快递 不是 IIS 我们有一个需要 SSL 客户端证书身份验证的 MVC5 应用程序 在开发过程中 它在 VS2013 中的 Azure 模拟器中运行 该模拟器在管理员权限下运行 针对端口 80 443
  • 是否有一个 JavaScript 库可以用来过滤 XSS 攻击的字符串?

    是否有类似 HTMLPurifier 等库的 Javascript 等效项 可以从字符串中删除 XSS 代码 一般来说 当 Javascript 代码运行时 要保护自己免受 XSS 攻击就为时已晚了 您需要在服务器而不是客户端防范它
  • “stoi”未在此范围内声明[重复]

    这个问题在这里已经有答案了 所以这个错误已经被解决了好几次 但没有答案对我有帮助 我在 Windows 10 上使用 Notepad 和 Cygwin 我的代码如下 来自Derek Banas 的 1 小时 C 教程 https www y
  • 如何以右对齐方式打印数字? [复制]

    这个问题在这里已经有答案了 所以我正在尝试一次代码评估的简单问题乘法表 https www codeeval com open challenges 23 其中一项要求是 数字右对齐并去掉前导 尾随空格 每行 我不确定如何做到这一点 我当前
  • 运行schedule时获取laravel环境

    我在 Laravel 5 时间表中设置了一些命令 输出存储在文件中并通过电子邮件发送给我 由于该项目有多个 副本 我想使用环境名称来区分电子邮件来自哪个副本 我尝试使用app gt environment 在时间表描述中 它抛出一个错误 F
  • ASP.NET MVC:视图引擎无法找到使用 MEF 加载的模型类型的视图

    我正在尝试创建一个框架 允许将控制器和视图动态导入到 MVC 应用程序中 到目前为止它的工作原理如下 我正在使用 NET 4 ASP NET MVC 3 RC 和 Razor ViewEngine 每个项目使用 MEF 导出和导入控制器 我
  • *最快*目录列表

    我有大量目录 我想尽快读取所有文件 我的意思是 不是 DirectoryInfo GetFiles 快 而是 从磁盘低级获取集群 快 当然 NET 2 0 c 类似的问题在这里 但这种方法没有任何好处 C 目录列出海量目录 https st
  • jQuery - 触发后面元素的点击事件

    我的问题是我有这个盒子又名容器 该容器内有用户可以单击的框 为了在视觉上帮助用户 我制作了带有灰色淡出颜色的覆盖框 这告诉他们可以使用这里的盒子 但我的问题是点击事件位于覆盖框后面的框上 那么有没有办法忽略一个元素的 click 并使用下一
  • Symfony2 中的 Doctrine2:如何查看哪个对象调用导致查询?

    我正在使用 Symfony2 和 Doctrine2 对于我的项目 我制作了具有不同关联映射的实体 首先 我确实看到了大约 7 个请求一个对象的查询 所以我决定进行 热切加载 并将其减少到三个查询 但其中两个在symfony工具栏 Prof
  • 通过 Node.js 使用 HTML 5 进行视频流传输

    我正在尝试设置一个 Web 服务器 该服务器支持使用 node js 将视频流式传输到 HTML5 视频标记 到目前为止 这是我的代码 var range request headers range var total file lengt
  • 如何仅针对特定规则抑制代码块内的检查样式检查? [复制]

    这个问题在这里已经有答案了 可能的重复 如何禁用特定代码行的特定检查样式规则 http stackoverflow com questions 4023185 how to disable a particular checkstyle r
  • 如何通过 XML 中的 id 删除节点元素?

    Using javax xml and org w3c public void removeNodeFromXML File xmlfile String uuid DocumentBuilderFactory factory Docume
  • Xamarin.iOS 在 Visual Studio 2019、2022 中找不到配置文件

    Visual Studio 2019 或 2022 无法识别 Xamarin iOS 的活动预配配置文件 我解决该问题的活动 删除了 Visual Studio 项目中的 bin 和 obj 文件夹 从此处删除了 Windows 上的旧配置
  • 如何从底部对齐 UILabel 文本?

    How the UILabel可以从底部对齐 假设我的标签可以容纳三行文本 如果输入文本是单行 那么这一行应该位于标签的底部 请参考下图以更好地理解 橙色区域是标签的全框 目前只有一行 居中对齐 所以我想要的是 无论有多少行 它都应该始终对
  • 如何在android中使用IntentService重新启动服务

    我能够停止我的 ServiceA 它开始使用AlarmManager 当IntentService正在通过发送广播来运行IntentService到广播接收器 我想在我之后再次启动相同的 ServiceAIntentService完成了他的