问题标签 [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 投票
2 回答
2066 浏览

android - 我的应用程序因设备内存不足而关闭

我正在开发一个使用意图服务来备份一些文件的应用程序。该应用程序运行良好,不会崩溃。但是,当我在后台启动应用程序时,应用程序有时会在它运行两天或有时只运行一晚时关闭。

是因为该设备内存不足而我的应用程序无法正确关闭吗?

是否有任何意图,即我在我的应用程序中处理这种情况,我将向我的用户展示最后一个进程停止的原因。

0 投票
2 回答
105 浏览

android - 如何停止我的旧服务?

当我退出我的应用程序时,我想启动服务。

代码是:

当我重新打开我的应用程序时,我想停止我在退出应用程序时启动的服务。

代码是:

这是正确的做法吗?

如何停止我的旧服务?

提前致谢

0 投票
3 回答
2778 浏览

android - 主要活动被破坏时重新创建Android服务

我的 android 服务有问题,当我关闭应用程序时,主要活动关闭并重新创建服务 - oncreated 方法调用自动和 onstart 也称为自动 - 所有状态都消失了。

这是我的活动代码

这是服务代码:

AndroidManifest.xml

请帮忙。我坚持了3天。

谢谢,阿隆

0 投票
1 回答
796 浏览

android - 是否可以将多个组件绑定到android中的intentservice

据我所知,如果我们想将多个客户端绑定到一个服务,我们可以使用绑定服务。但是,意图服务比服务有很多优势。所以,我想知道是否可以将多个组件绑定到一个意图服务。此外,是否可以让意图服务也处理来自不同进程的请求(可能通过 IPC(AIDL)或其他一些技术)。提前致谢。

0 投票
1 回答
870 浏览

android - Android如何在Activity已经运行时将数组从IntentService传递给Activity

我有一个每 5 分钟运行一次的 IntentService。此服务检查服务器上是否有任何警报。警报位于二维 ArrayList 中,我将其传递给 Activity 以显示在列表中。

目前,如果我启动应用程序并让它运行一个小时,堆栈上将有 12 个活动。用户必须单击后退按钮 12 次才能关闭所有活动。

我想要发生的是新的 ArrayList 被传递给堆栈上的原始 Activity 并且它的 listView 使用新数据进行更新。

我确定我必须覆盖 onNewIntent 并在适配器上调用 notifyDataSetChanged。

有没有人知道如何做到这一点?我在正确的路线上吗?

.

. [编辑1]

.

[编辑 2]

编辑3

0 投票
1 回答
821 浏览

android - 未收到通知中的 PendingIntent

我有一个 IntentService,它在 onHandleIntent(Intent) 中同步执行一些长时间运行的工作。因此,只要服务运行,我就会显示通知。现在我想在用户点击通知后停止服务。

所以这就是我得到的。创建服务后注册的广播接收器类。服务执行某些工作时显示的带有待处理意图的通知。

但不知何故,当用户点击通知时,我从来没有得到广播意图。任何想法?

这是可以很容易地重新用于测试的部分代码。

该服务是从我的活动中启动的:

停止这种服务的想法来自这篇文章

0 投票
1 回答
1734 浏览

java - 带有广播的服务来说明 GPS 是否已启用

我想检测 GPS 的开关。

我的想法是使用 IntentService 和 Broadcast 意图。我的服务正在运行,但我的广播接收器不工作。

如果 GPS 被用户打开/关闭,我只想告诉我的 HomeActivity。有了这些信息,我将能够使用当前位置设置我的 GoogleMap。

谢谢 !

GpsService.java:

HomeActivity.java

0 投票
2 回答
1266 浏览

android - 具有 UI 和非 UI 模式的后台操作的 Android 设计模式

我有一个后台操作,我希望能够以两种模式运行:

  • UI模式,由用户发起,在整个生命周期内为用户提供操作状态的精准反馈。

  • 非 UI 模式,由其启动AlarmManager并向用户提供在其生命周期结束时的操作摘要。

只实现UI 模式的自然设计选择是AsyncTask,只实现非 UI 模式的自然设计选择是IntentService.

同时实现两种模式的自然设计选择是什么?即,将这两种模式合并到一个对象中的自然设计选择是什么?

0 投票
1 回答
58 浏览

android - 安卓应用架构

假设我有一个简单的应用程序,其中包括:

带有列表视图的片段以显示书籍列表

保存片段的 Activity

某些 Web 组件将向某处的服务器发出查询以获取要显示的书籍列表

将这些组件连接在一起的最佳方式是什么?我看到了几个选项,但哪个是最好的(是否有任何最佳实践)?

  1. Activity 向网络服务器发出查询(通过 AsynTask / new Thread),并将结果推送到片段

  2. 创建另一个没有 UI 的片段,并通过 AsyncTask / new Thread 查询此问题(如选项 1,但将删除因屏幕旋转问题而被破坏的活动)

  3. Fragment直接调用webserver,activity什么都不做

  4. 添加一个意图服务来执行查询,然后将结果广播到:

    a) Activity - 将它们推送到 Fragment

    b) Fragment 直接接收广播

这些中的任何一个被认为比另一个更好吗?

各种与片段相关的帖子都说过“将片段视为视图,将活动视为控制器”,因此这表明选项 3 可能不是一个好主意。

选项 2 似乎将活动视为控制器的混合体,将一些“控制器”功能委托给另一个片段,但关键不是“视图”片段

选项 4 看起来很有趣,但是您遇到了必须广播所有结果的问题(而 1 和 2 您将拥有实际的对象)。当然,您可以通过使用 LocalBroadcastManager 使广播更加高效(和安全),但您仍然必须广播所有网络结果。

如果我下载的是图像(一些实质性的东西)而不是(例如)变成轻量级 Parcelable 对象的 JSON 消息怎么办?

正如我所说,我可以想到很多方法来做到这一点——我们认为什么是正确的方法?

0 投票
1 回答
51 浏览

android - 如何使用服务来使用位置数据?

由于我有一个长期运行的任务要在我的应用程序的后台执行,我正在尝试实现一个服务来完成一项工作。

此服务使用来自LocationClient实例的位置数据,并且每个请求都使用 PendingIntent 触发。最低目标版本阻止我使用新的 LocationServices 和 Android 文档建议我使用 LocationClient.requestLocationUpdates(...) 方法的 PendingIntent 版本,因为应用程序可能已被系统杀死

见过的与类似描述匹配的每个示例都实现了一个 IntentService 并覆盖了 onHandleIntent(Intent intent) ,后者额外接收了 KEY_LOCATION_CHANGED 意图。 但是,Service 中没有这样的方法,并且没有像我预期的那样将这样的意图传递给 onStartCommand(...) 。

此代码用于设置对位置数据的请求,并且来自 LocationRequester 对象(任何时候都可以运行任意数量的这些,但是当只生成一个并发出请求时结果是相同的):

当我在上面的代码中使用 MyLocation*Intent*Service 时,Intent 将被传递到 MyLocationIntentService.onHandleIntent(intent),我会寻找额外的 KEY_LOCATION_CHANGED。对服务进行更改后,我不知道如何使用位置数据。我已确保在发出请求时已连接 LocationClient。

我试过监控 onStartCommand(...) 并且意图没有在那里传递。我的问题是:如何在服务实现中使用位置数据?

如果我留下任何不清楚或需要更多信息,请告诉我。谢谢!