我在服务类中使用代码片段来使用粘稠的android服务
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
但是只有当应用程序被android /s关闭时,它才会重新启动,尽管当用户强制停止应用程序管理器时,服务也会被终止。然而,我的要求是,我想永远运行服务,直到应用程序安装在设备上。有人能帮我吗?
这个问题是一种平衡的行为,在如何写好和好的程序这一更哲学的问题和如何保存电池和系统资源这一基于事实的问题之间。具体来说,它是关于Android服务的,为了执行所需的任务,必须在电话的后台永久运行。
在我的例子中,后台有几个服务在运行。一个扫描手机是否连接到WiFi,如果是,设置一个变量,一个检查位置和更新位置,如果已经找到一个足够精确的位置,一个检查接近传感器,一个分析噪音水平,在检查RSS-Feed更新.
这个应用程序有几个问题,我认为它们可能源于这个设计决策。大多数情况下(除了通过SensorEventListener提供更新的位置服务和邻近传感器之外),我所有服务的体系结构如下所示
pu
我用AlarmManager来设置警报。我有一个服务,在那个服务中我有一个广播接收器。
问题是,当选定的时间和日期到来时,接收方无法接收它。
onStart是我的服务类的一部分,在哪里注册我的接收器:
public int onStartCommand(Intent intent, int flags, int startId) {
super.onCreate();
IntentFilter intentFilter = new IntentFilter();
registerReceiver(receiver, intentFilter);
Log.i(
Android代码如何检测处理程序的可运行进程何时完成?在这个特定的应用程序中,除了完成其工作的处理程序之外,不生成其他事件。
简单地在全局布尔标志的连续测试周围放置一个while()循环似乎不起作用:
... stuff to do before the handler's runnable is started
while (globalBooleanFlagStatingThatRunnableIsNotYetFinished)
Thread.sleep(5);
... stuff to do only after the handler
我们有两个应用程序:我开发的Android应用程序和Facebook应用程序。此外,我有一个在我的应用程序中实现的Android服务,它执行以下操作:它保持侦听,一旦收到来自客户端的消息(即Raspberry Pi 3),它就会转到Facebook应用程序。这意味着我们从Android服务转移到一个活动(即Facebook应用程序)。
现在我的问题是:如果我关闭Facebook应用程序(即活动),我希望正在运行的服务在我的屏幕上显示一条吐司消息。我该怎么做呢?