问题标签 [intentservice]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 多个 IntentServices 监听一个唯一的 Intent
我希望有多个 IntentServices 来监听一个 Intent 并以各种方式处理它。目前,只有一个 IntentService 接收 Intent 并消费它。有任何想法吗?有国旗什么的吗?我不想为每个服务实现一个意图。
android - 有没有办法在一个上运行一个以上的 IntentService?
我想我已经明白了 IntentService 类的意义。它处理一个队列,防止太多或更多的服务实例一起执行。
我发现它很有用,但是如果我从 IntentService 派生了太多具有不同目的的类,并且我希望它们一起运行而无需相互等待怎么办?
如果我可以设置任何标志或属性,那就太好了,它会说:“允许太多或更多不同的派生类意图服务在他自己的队列上运行每个服务”
有什么办法吗?
我知道所有其他替代方案,例如“常规”服务、AsyncTesk、手动管理线程,所以请不要建议我考虑使用它们。我知道它们的优点和局限性。
提前致谢。
android - 广播接收器和烘烤
全部,
我有一个没有关联布局或任何活动的广播接收器。它正在监听某些人从音频插孔中拔出某些东西。
我已经能够让我的接收器工作并发出通知。我的问题是如何使用没有主要活动或主要布局的接收器显示 Toast 消息?
现在我发现一两个帖子基本上说这不能完成,因为你需要一个活套来让 Toast 工作。Android + SMS 接收器 + Toast = 失败
除了这个链接http://developer.android.com/reference/android/os/Looper.html之外,我不熟悉 Loopers 。
有没有办法从广播接收器的 onReceive 方法创建一个 IntentService,该方法在工作线程上有一个循环器,使我能够在我的接收器被触发时引发 Toast?
android - Android中的多个数据库连接(来自Activity和Service)
我想使用 SQLite 数据库将数据存储在 Android 应用程序中。没问题。但是在预定义的时间间隔(每天 10、14、18 和 22 点),我想运行一个IntentService
也需要访问数据库的程序。问题来了:
当用户在IntentService
启动时使用应用程序时,会出现问题,因为 中有一个数据库连接处于活动状态,Activity
而IntentService
. 所以数据库将被锁定并且IntentService
会失败,对吗?
我如何实现这一点,在这些情况下,IntentService
只是等待Activity
完成当前操作(SELECT
,UPDATE
等)然后正常运行?
在我的活动中,我在 中打开数据库连接(通过SQLiteOpenHelper
)并在 中onCreate
关闭它onDestroy
。这是否意味着 IntentService 在此期间没有机会在数据库上工作?
android - 使用 intentService 还是有更好的方法?
我正在创建一个应用程序,它将执行以下操作:
如果邮件带有 messageword。它需要开始通过 GPS 功能定位手机。之后,它必须向用户显示结果。
我已经使用广播接收器来获取消息了。之后是开始一个活动。如果不更新用户界面。
我这里有两个问题:
1)如果屏幕旋转,所有变量都设置为零......可以通过将变量保存在onPause()
并读取这些值来解决这个问题onResume()
2)如果用户使用后退按钮......线程被取消。
实际上我希望用户不能取消 GPS 动作。
为此使用 Intentservice 是个好主意吗?
-消息进来
-BroadcastReceiver
获取消息并启动intentService
-如果处理完成......我可以用结果启动一个活动(处理完成后服务会自动关闭?!
有没有更好的方法来解决这个问题?
android - IntentService 工作队列状态
我正在开发一个运行一系列异步传感器扫描的 Android 应用程序,例如获取附近蓝牙设备的 MAC 地址列表、获取手机的当前位置 (GPS) 并记录周围噪音的音频样本。每当每次扫描完成时,我都想要一个服务来处理将收集到的数据发送到 Web 服务(使用 http 和 REST)。
我面临的问题是我应该实现自己的自定义服务还是使用 IntentServce 来处理多个请求(使用“startService()”发送的意图)来上传数据,因为我希望 100% 确定最终找到的数据被发送到网络服务(如果互联网连接可用)。
如果 Android 决定终止我的 IntnetService 或用户在仍在处理它的请求工作队列时强制终止它,我会丢失待处理请求的队列吗?即我是否需要保存工作队列的状态(因此被迫自己实现服务而不使用 IntentService)?
android - IntentService STICKY 已销毁,但服务仍在 Android 2.3.4 中记录数据
我有一个安卓应用程序。在一项活动中,我启动了这样的服务:
处理服务定义如下:
然后在HandlingService里面我有这个:
和这个:
最后:
numberOfTry 从 1 开始。
然后从启动服务的活动中,当我单击取消按钮时,我称之为:
我看到HandlingService.OnDestroy 被调用,但我一直看到“HandlingService.sendingSomething.Try#”的日志和越来越多的数字。
问题:如果我已经通过调用 stopService 停止了它,为什么它仍然存在?
提前致谢!吉列尔莫。
java - Android 服务基础
我是 Android 服务的新手,所以我有一些问题可以阐明如何在我当前的项目中使用它们。
1)我是否需要运行我的应用程序才能运行服务?我是否必须启动应用程序才能启动服务?
2)我想在我的服务运行结束时在屏幕上打印一个文本。首先,是否有可能,其次,当我切换到 Activity 的屏幕时,我能否在 Activity UI 上看到此文本?
3) 我希望我的服务使用在主 Activity 类中实现的变量和函数。是否可以?
4) 与问题 3 相关:我当前的应用程序中有一个 AsyncTask,它使用 TimerTask 每分钟重复一次。我想拥有相同的功能,但这次在用户忙于做其他事情时在后台运行。服务是正确的做法吗?我可以通过从服务中运行我的 searchRegularly()(在 Activity 中)函数来实现吗?下面backgroundSearch
是每分钟运行的 AsyncTask 的名称。
5)您如何决定使用Service还是IntentService?主要区别是什么?
android - 启动时的 Android AlarmManager
我正在使用 AlarmManager 启动每分钟运行的服务。但是,我收到“应用程序 blabla 已意外停止”。当我打开设备时,带有强制关闭按钮的警告对话框。我不知道错误是什么,因为我唯一的调试选项是使用 WIFI,并且每次重新启动设备时连接的 IP 都会更改。
该服务在没有启动的情况下运行良好。
这是我在应用程序下运行的 BroadcastReceiver:
显现:
你看到我做错了这些有什么问题吗?
更新:设法调试启动,我得到 AndroidRuntime(2781): java.lang.RuntimeException: Unable to instance receiver mypackage.FPBootReceiver: java.lang.ClassNotFoundException: mypackage.FPBootReceiver in loader dalvik.system.PathClassLoader
android - 如何通过按下应用小部件来启动 IntentService
按下我的应用小部件时,我想启动一个 IntentService。
我知道如何通过按下它来更新小部件,但我不知道如何实际启动 IntentService。
这是如何启动小部件更新
我需要改变什么来启动一个 INtentService 呢?
ps 我还根据媒体启动了一项活动,但这会显示在屏幕上——我确实想避免这种情况。
非常感谢!