问题标签 [android-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.

0 投票
1 回答
1086 浏览

android - 具有网络状态更改的意图服务

我正在使用意图服务将多个图像上传到服务器。一切正常。但是如果没有网络连接,我如何确保服务在网络恢复之前保持活动状态。

0 投票
1 回答
72 浏览

android - 当 IntentService 完成时,由 IntentService 产生的线程会发生什么?

我有一个IntentService接收数据并将其写入本地数据库的设备。然后要处理 DB 数据。目前我正在做这一切的onHandleIntent()方法。

问题:数据没有立即存储在数据库中。但它应该是。而是在第一个数据块完成后处理下一个数据块。

数据块将被同步处理。

我的解决思路:

1)我可以使用 aService而不是IntentService. 但是,我想避免这种情况,因为我想避免处理异步的东西。

2)我可以使用两个IntentServices:第一个接受数据并存储它。第二个读取并处理它。

3)我可以产生一个WorkerThread(或使用一个ExecutorService)来处理数据。这是我想走的路。

现在,我的问题是:IntentServiceIntentService离开它的onHandleIntent()方法时产生的线程会发生什么?有什么问题可以预料吗?应该使用选项 2) 还是 1)?

0 投票
3 回答
2103 浏览

android - 在活动中停止服务

我正在使用以下代码来停止我的服务

这是我的无限期服务

为什么不停止我的服务?

0 投票
1 回答
345 浏览

android - IntentService和Service的使用区别

当我必须使用IntentService

当我必须使用Service?

我不知道它们是用来做什么的。

0 投票
1 回答
1893 浏览

android - SecurityException:权限拒绝:启动 Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME]

在我的应用程序中,当用户按下该应用程序时,该应用程序被最小化。这是 onBackPressed() 方法

但它向我显示了这个错误,我不知道如何解决它。请帮我解决一下这个。

这是错误日志

0 投票
1 回答
364 浏览

java - AlarmManager - 设置为 10 分钟时不会响起

基本上这段代码的工作原理是......它从初始计算开始,并在 X 分钟后使用警报管理器启动服务,该服务得到结束计算并确定两者之间的差异。在每个警报结束时,都会为相同的时间间隔设置一个新警报。当我将时间间隔设置为 10 分钟时,闹钟根本不会响起。

我假设这与手机 CPU 进入睡眠状态有关,因为这是我几天来一直在尝试解决的问题,用许多不同的方法来编写这个算法。

如果有人知道为什么会这样,任何帮助将不胜感激,因为这对我的程序的功能非常重要。作为旁注,这段代码在长达 5 分钟的短时间间隔内完美运行,一旦我插入 10,我什么也没得到。

从我的服务

onReceive 在我的广播接收器类中

在我的清单中...


我的新代码(感谢 Larry Schiefer 的建议)

我还发现,即使 WakefulBroadcastReceiver 持有 WakeLock,如果操作系统要关闭服务,它也会在没有 WakeLock 的情况下重新启动。因此,有时需要获取额外的唤醒锁以在 onStartCommand 中进行处理。就我而言,它是必需的。

在我的服务

而我的 onReceive - 将“扩展广播接收器”更改为“扩展 WakefulBroadcastReceiver”

0 投票
3 回答
2434 浏览

android - GcmBroadcastReceiver / GcmIntentService 死亡

我正在使用 GCM 在发布图像时收到通知,然后我下载并处理它:

这是我的 GcmIntentService 的开始:

似乎服务会随机死亡。从日志:

代码在收到 GCM 消息时所做的是下载图像,然后向用户显示通知(这类似于普通的聊天应用程序)。

一位测试人员告诉我,一旦他收到一张图片但没有收到通知,这意味着服务本身已启动并完成了部分工作,但没有完成。

通知代码与图像的下载和处理一起在 processNewWallpaper() 中运行。这是代码:

通知方式:

我可以通过向自己发送一张图片来重现这一点,然后反复按 Android 后退按钮,直到我不再在应用程序中。我可以按照显示图像已下载的日志消息进行操作,但是在显示通知之前它就死了。

这并不总是发生。有时会显示通知,有时不会。

我不确定可能的原因是什么,也不知道如何调试。有小费吗?

0 投票
1 回答
2740 浏览

android - 启动意图服务

我以这种方式启动 Intent 服务:

我的问题是 IntentService 在一切都完成之前不会收到任何东西。并且当它开始接收命令时是错误的,因为 Command2 比 Command1 更早被接收(就在之前)。

有什么帮助吗?

0 投票
1 回答
761 浏览

android - Android 上 IntentService 和 BroadcastReceiver 之间的共享全局变量

我对此感到有些困惑,但我知道在 Android 上你可以缓存文件,什么不行,我想做的是有一种方法可以让我的所有服务都可以访问一个共享的全局变量?这样我就不必为基本上只是一个变量的东西使用文件。基本上我想要IntentService更新这个变量,然后可以访问BroadcastReceiver.

0 投票
2 回答
1481 浏览

android - 被最近的活动刷出后如何在后台运行Android服务?

我有一个应该始终运行的后台服务。它应该等待收到的电子邮件,当电子邮件到达(到我的旧手机)时,它会触发一个动作。(向我的新手机发送短信)。不是一个聪明的用户案例,只是学习 android。

但是,如果我将应用程序保留在“最近”应用程序中,上述所有操作都可以正常工作。我刷它的那一刻,它不起作用。

关于如何实现这一目标的任何想法?

我在一些应用程序(如 Whatsapp、Facebook 等)中看到,即使在我们刷掉之后,也会运行一个后台服务来收听新通知等。我如何使用我的应用程序来实现?