Android Service 多个实例

2023-11-21

我对 Android 服务类还是有点陌生​​。我知道您需要使用 startService(intent) 从应用程序启动服务,但是我的问题是我的服务内部有方法。我需要以意图启动服务,然后在我的活动中创建该类的对象,以便我可以调用服务的方法。问题是,当我这样做时,当我以意图启动服务时,我创建了一个服务实例,当我在活动中创建该类的对象时,我创建了另一个服务实例。这意味着当我创建服务的对象时,从 startService(intent) 传递到服务的任何数据都不存在。有什么办法可以解决这个问题,还是我完全滥用了服务类?我可以给出一些代码,但基本上是这样的:

//Create Object of ControlPanel service class.
ControlPanel cPanel = new ControlPanel();
//Create intent for starting ControlPanel service class
Intent controlPanel = new Intent(this, cPanel.getClass());
//Start Service
startService(controlPanel);

我想说你滥用了这个课程:-)。

多次调用 startService() 不会导致启动多个服务。

来自doc:

请求启动给定的应用程序服务。 Intent 可以包含要启动的特定服务实现的完整类名,也可以包含要启动的服务类型的操作和其他字段的抽象定义。如果该服务尚未运行,它将被实例化并启动(如果需要,为其创建一个进程);如果它正在运行,那么它将保持运行状态。

你应该覆盖onStartCommand()以及。如果服务尚未启动,则第一个 startService 调用将启动该服务。无论如何,onStartCommand 将拦截任何进一步的 startService 调用以及您想要发送给它的意图。

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

Android Service 多个实例 的相关文章

  • BottomNavigationView - 如何获取选定的菜单项?

    我使用BottomNavigationView来切换片段 如何获取当前选定的菜单项 以防止重新打开片段 BottomNavigationView bottomNavigationView BottomNavigationView findV
  • 在应用程序简历中隐藏软键盘

    我有一个 Android 应用程序 使用 Xamarin 用 C 编写 我已将应用程序简化为包含 TextView 和用于横幅广告的 Google admod AdView 的 LinearLayout 我不希望软键盘出现在应用程序中 这不
  • Android 通知进度条冻结

    这是我正在使用的代码 http pastebin com 3bMCKURu http pastebin com 3bMCKURu 问题是 一段时间后 文件变得更重 通知栏下拉速度变慢 最后它就冻结了 你的通知太频繁了 这就是它冻结的原因 让
  • GCM 向主题发送消息:TOO_MANY_TOPICS 错误

    以前 GCM 每个应用程序有 100 万个主题订阅的限制 我发现他们现在已经取消了这一限制 基于发布 订阅模型 主题消息支持 每个应用程序无限订阅 https developers google com cloud messaging to
  • 从 Throwable 获取错误代码 - Android

    我怎样才能从错误代码可投掷 https developer android com reference java lang Throwable html public void onFailure Throwable exception 我
  • Firebase Analytics 禁用受众国家/地区跟踪

    我正在开发一个严格不允许位置跟踪的应用程序 我想使用 Firebase Analytic 的其他功能 例如 PageTransitions 和 Crashalitics 但如果我无法禁用受众位置跟踪 我就无法使用其中任何功能 这是我在 An
  • 设置从 Facebook 登录获取用户电子邮件 ID 的权限

    我在用着Facebook 3 0 SDK对于安卓 我必须实施Facebook登录 我正在访问用户的基本信息 例如姓名 用户 ID 但我也想访问用户的电子邮件 我浏览了很多博客和论坛 但不知道该怎么做 我正在使用我自己的 android 按钮
  • 在 Google Analytics 中跟踪应用程序版本

    我正在使用谷歌分析模块 https marketplace appcelerator com apps 5081 2014113336 https marketplace appcelerator com apps 5081 2014113
  • 在 Android 中使用 DataOutputStream 在 POST 正文中发送特殊字符 (ë ä ï)

    我目前正在开发一个具有大量服务器端通信的 Android 应用程序 昨天 我收到一份错误报告 称用户无法发送 简单 特殊字符 例如 我搜索过但没有找到任何有用的东西 可能重复 没有答案 https stackoverflow com que
  • 从 Firebase 数据库填充微调器

    public class MainActivity extends AppCompatActivity DatabaseReference reference Spinner areaSpinner ArrayList
  • Android 版 Robotium - solo.searchText () 不起作用

    我在使用 Robotium 时遇到 searchText 函数问题 我正在寻找这个字符串
  • minHeight 有什么作用吗?

    在附图中 我希望按钮列与图像的高度相匹配 但我也希望按钮列有一个最小高度 它正确匹配图像的高度 但不遵守 minHeight 并且会使按钮向下滑动 我正在为按钮列设置这些属性
  • Android 启动器快捷方式

    我制作了一个简单的打卡 打卡时钟应用程序 我想向用户添加在主屏幕上创建快捷方式的选项 该快捷方式将切换应用程序的状态 超时 超时 但我根本不希望此快捷方式在屏幕上打开应用程序 这是我的 setupShortcut private void
  • MediaCodec 创建输入表面

    我想使用 MediaCodec 将 Surface 编码为 H 264 使用 API 18 有一种方法可以通过调用 createInputSurface 然后在该表面上绘图来对表面中的内容进行编码 我在 createInputSurface
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • 使用 Matrix.setPolyToPoly 选择位图上具有 4 个点的区域

    我正在 Android 上使用位图 在使用 4 个点选择位图上的区域时遇到问题 并非所有 4 点组都适合我 在某些情况下 结果只是一个空白位图 而不是裁剪后的位图 如图所示 并且 logcat 中没有任何错误 甚至是内存错误 这是我用来进行
  • Android Webview 图像未加载

    我制作了一个简单的应用程序WebView 但有些图片无法加载 正确 在我的电脑上 错误 在模拟器中 Correct 错误 没有横幅 于是我用Chrome debug进行调试 发现我的代码被改变了 我不添加像noscript or style
  • 将 JSON 参数从 java 发布到 sinatra 服务

    我有一个 Android 应用程序发布到我的 sinatra 服务 早些时候 我无法读取 sinatra 服务上的参数 但是 在我将内容类型设置为 x www form urlencoded 之后 我能够看到参数 但不完全是我想要的 我在
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • 在webview android中加载本地html文件

    我正在尝试在 android 的 webview 中加载 html 文件的内容 但是 它给了我 网页不可用错误 如果我尝试使用谷歌或雅虎等网站 它们就会起作用 html文件位于src gt main gt assests gt index

随机推荐

  • 从自定义源(非标准 XML)加载 WCF 配置(针对服务器 + 客户端)

    我一直在尝试找到一种方法从备用源 而不是标准的 web config app config 加载我的 WCF 服务配置 巨大的 XML 配置数据 BLOB 我们在受限环境中运行 无法访问服务器的文件系统 因此我们无法自己对 WCF 配置进行
  • 升级到 Gradle 5 后 Querydsl 注释处理器问题

    我有一个 gradle 脚本 它从 Mongo 带注释的实体生成 querydsl 类 到目前为止它可以正常工作 但是升级到 Gradle 5 后我遇到了一个问题 What went wrong Execution failed for t
  • “id 无法解析或不是字段”错误?

    我不断收到此错误 我应该做吗id一个字段 我的代码是 public void onCreate Bundle icicle super onCreate icicle setContentView R layout main ImageVi
  • MySQL 和嵌套集:慢 JOIN(不使用索引)

    我有两张桌子 地区 CREATE TABLE localities id int 11 NOT NULL AUTO INCREMENT name varchar 100 NOT NULL type varchar 30 NOT NULL p
  • Winform 启动画面 - VB.NET - 计时器

    我的应用程序和该表单上有一个启动屏幕 我有一个计时器 Private Sub Splash Load ByVal sender As Object ByVal e As System EventArgs Handles Me Load Sp
  • symfony2:在控制器操作内部设置表单外部的表单字段的值

    我需要设置 symfony2 表单元素的值 我使用一个doctrine2实体 一个Symfony Component Form AbstractType以及我的控制器操作中的 createForm 方法 saleDataForm this
  • iphone:如果浮点数为负数,则转换为无符号整数的浮点数将设置为 0?

    试试看 volatile float bob 344 0f unsigned int fred unsigned int bob printf d n fred 输出将为 0 显然 我希望它能够回绕 就像我从一个有符号的 int 转换为一个
  • 如何将 Sql Server 2008 DateTimeOffset 转换为 DateTime

    我希望转换一个有DATETIMEOFFSET场 下降到DATETIME字段但通过注意偏移量来重新计算时间 实际上 这将值转换为UTC eg CreatedOn 2008 12 19 17 30 09 0000000 11 00 将被转换为
  • 透明背景

    如何让背景50 透明 假设 AbsoluteLayout 的背景很暗 但您仍然可以看到它 您可以将透明主题应用于所需的活动 在 res values style xml 中创建新样式
  • Rails 5.1 中还需要 `require jquery_ujs` 吗?

    我正在我的中安装 jQuery5 1 xRails 应用程序通过jquery rails gem 在 gem 设置中 他们建议将这些行添加到application js默认情况下 require jquery require jquery
  • 使用 nginx 在同一域上提供 React 前端和 php 后端

    我有一个 React 前端和一个 Symfony 后端 我试图在同一个域上提供服务 React 前端需要提供资产 如果存在 否则需要提供回退服务index html 我想在以下情况下提供 php Symfony 应用程序 api位于请求 u
  • 了解 Spark shuffle 溢出

    如果我理解正确的话 当一个reduce任务开始收集它的输入shuffle块 来自不同map任务的输出 时 它首先将它们保存在内存中 Q1 当执行器的 shuffles 保留内存量 在内存管理更改之前 Q2 耗尽时 内存中的数据将 溢出 到磁
  • SQL:如果不存在如何更新或插入?

    我下面有一个 SQL 插入 工作正常 但是我希望它检查 DATE xxxx NAME xxxx 和 JOB xxx 是否存在 并更新 HOURS 如果存在 否则插入新行 这可以用 SQL 实现吗 INSERT INTO TABLE NAME
  • 从内部类对象获取外部类对象

    我有以下代码 我想获取创建内部类对象的外部类对象inner 我该怎么做 public class OuterClass public class InnerClass private String name Peakit public st
  • 简单的串行点对点通信协议

    我需要两个设备 PC 和微控制器 之间的简单通信协议 PC必须向微处理器发送一些命令和参数 微控制器必须传输字节数组 来自传感器的数据 数据必须是噪音保护 除了奇偶校验之外 我想我还需要一些其他的数据校正方法 有没有标准的解决方案可以做到这
  • python字典中循环(for循环)的顺序是什么[重复]

    这个问题在这里已经有答案了 我对以下内容得到的输出有点困惑 我不明白循环的执行顺序 domains de Germany sk Slovakia hu Hungary us United States no Norway for key i
  • 在 C++11 中保存随机数生成器状态

    我希望能够将随机数生成器的状态保存在 txt 文件中并将其读回 我听说在 c 11 中 可以使用 gt 运算符来完成此操作 但是 我不确定我到底该怎么做 我有一个随机数生成器 初始化如下 mt19937 myRandomGenerator
  • 允许特定标签覆盖溢出:隐藏

    我有一个 div 这是一定的height and width and overflow hidden以便剪裁特定的内部图像 不过我想要一张图片 div 弹出边界 即覆盖overflow hidden 我该怎么做呢 诀窍是保持overflow
  • 在创建时设置全屏

    我只能在 onCreate 方法中将 Activity 设置为全屏 在 setContentView 之前 有什么方法可以在 onCreate 之外设置为全屏吗 Thanks 有可能 添加此代码 go full screen WindowM
  • Android Service 多个实例

    我对 Android 服务类还是有点陌生 我知道您需要使用 startService intent 从应用程序启动服务 但是我的问题是我的服务内部有方法 我需要以意图启动服务 然后在我的活动中创建该类的对象 以便我可以调用服务的方法 问题是