问题标签 [android-service-binding]

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 回答
772 浏览

android-activity - AOSP:在 Activity.java 中创建 SystemService 实例时出错

我已向 AOSP 添加了自定义系统服务。我想在 Activity.java 类中使用我的服务,并想对 startActivityForResult() 方法进行一些更改。我想以同样的方式为 PackageManagerService 创建一个实例。但由于某种原因,我无法运行它,我从 logcat 收到以下错误:

如何在 Activity.java 中创建服务实例。在 Activity.java 中是否还有一种 systemReady() 方法,我知道 PackageManagerService 中有这种方法,但这是一个没有 Activity 的服务。所以想知道检查它的最佳方法是什么。任何想法表示赞赏

0 投票
1 回答
472 浏览

android - 如何在测试中多次调用 onStartCommand?

我有以下设计:

如何获取服务实例并对 onStartCommand 进行 3 次调用?

谢谢您的帮助

0 投票
1 回答
12716 浏览

android - 服务:如果使用 bindService 启动,则不会调用 onTaskRemoved

onTaskRemoved()我有一个已实现该方法的服务。当通过滑动从最近的应用程序列表中删除应用程序时,使用该功能
启动服务时调用。startService()onTaskRemoved()

但是,如果服务以 启动bindService(),则onTaskRemoved()永远不会调用。

onTaskRemoved()当应用程序启动后通过滑动从最近的应用程序列表中删除时,如何进行服务调用bindService()

如果以以下方式开始,Android 会调用以下生命周期方法:

0 投票
1 回答
1705 浏览

android - Activity 的 Android 服务回调方法

我有一个活动和一个服务。我正在使用 bindService 来获取 Binder 对象,该对象使我的活动可以访问该服务。所以我能够轻松地在服务上执行命令。我需要的是一种让服务与活动通信的方法。处理此问题的最佳方法是通过从活页夹返回的服务实例直接从我的活动调用服务。然后使用本地广播接收器将消息从服​​务发送回活动?

谢谢,内森

0 投票
1 回答
408 浏览

android - 如何创建在后台连续运行的 viber、facebook 等服务?

我正在尝试制作使用服务的应用程序。但我需要服务来连续运行。如果我使用 360 安全、任务杀手等 3rd 方应用程序,我不希望它停止。我已经以这种方式创建了我的服务。谢谢进步。

我使用了 START_STICKY,但这无济于事。

0 投票
4 回答
2566 浏览

java - 从新上下文绑定到服务以进行配置更改或从应用上下文绑定?

我正在尝试确定绑定服务是否适合在我的应用程序中进行后台工作。要求是各种应用程序组件可以通过它发出不同优先级的 Web 请求。(因此服务必须维护某种队列,并且能够取消它对其他更高优先级的正在进行的请求)。我希望该服务对用户来说相对不显眼,这样他们在完成应用程序后就不会发现它正在运行 - 如果我想做一些更重要的事情,在应用程序关闭时继续,我可以使用 startForeground( ) 在此过程中推送通知。

解决方法一:从activity绑定

因此,对于给定的应用程序组件,它应该能够绑定到服务以完成工作。但是似乎有一个众所周知的问题,如果一个活动正在执行绑定,那么在配置更改(轮换)期间绑定将丢失,因为活动将被关闭。

所以,我在想我可以使用我创建的另一个上下文 ( new Context()) 并将其绑定到服务,然后使用非 UI 片段来跨配置更改维护此上下文,直到我认为我完成了它。我只能在配置更改期间执行此操作,或者作为从活动绑定的永久替代方案。(我可能应该指出,这是跨配置更改维护实例的标准和推荐方法)

解决方案二:

我看到的主要替代方法是我可以使用应用程序上下文进行绑定——但这会持续太久吗?和/或应用程序上下文和服务之间是否存在某种循环关系,从而防止服务和应用程序上下文被破坏?

问题:

所以我试图回答自己的问题是:我应该使用第一种方法(具有临时上下文的活动)吗?还是第二个(只是将服务绑定到应用程序上下文)?

我是否认为应用程序上下文可以多次绑定到服务,然后以相同的次数解除绑定?(即每个上下文可以有多个有效的绑定)?

在第一个解决方案中使用我自己的上下文 ( new Context()) 会导致任何问题吗?

编辑

找到更多信息:https ://groups.google.com/forum/#!topic/android-developers/Nb58dOQ8Xfw

似乎也很难任意“创建”上下文,因此解决方案 1 和 2 的组合似乎适合在跨配置更改维护服务连接但绑定到应用程序上下文的情况下。我仍然担心从应用程序上下文中解绑两次的可能性。自己计算绑定似乎没有必要 - 任何人都可以确认/否认绑定是每个连接而不是每个上下文吗?

0 投票
1 回答
918 浏览

android - 绑定到服务 - 绑定成功后回调 - Android

我已经到了不知道如何优雅地做到这一点的地步。

假设我有一个Fragment, namedFragmentA和一个ServicenamedBackupService

FragmentA我将它绑定到BackupService使用:

和:

现在我知道绑定是一项asynchronous任务,这就是我的问题所在。

我想出了使用 an 的想法,EventBus但我觉得它并不优雅,因为片段会发布对象(在这种情况下backupBoundService),引用服务,同时会监听/接收来自总线的事件,例如,将是相同的片段发布和接收事件(发布给自己)。

当片段绑定到它时,是否有一种优雅的方式来获取正在运行的服务的引用?我很确定这种情况有一个模式,但到目前为止我一直在谷歌搜索和搜索这里没有运气。

0 投票
3 回答
52 浏览

android - Android服务绑定后执行请求

我有一个两部分的问题。两者都有些笼统。

  1. 我正在创建一个严重依赖与服务器通信的应用程序。我计划为我需要的每个存储库设置不同的类。Android 服务是在这里使用的正确模式吗?在某些情况下,我想在活动之间缓存一些东西。服务会允许我这样做吗?
  2. 假设我想为此使用服务,一旦绑定了服务,我该如何加载内容。当用户打开应用程序时,我想开始加载内容。但是,绑定服务不会阻塞,所以我不能编写向我的服务发出请求的代码onStart()吗?是否有一些辅助类会等待服务加载然后执行一个函数?我知道我可以在我的onServiceConnected()方法中添加一些代码,但我想远离这样的耦合。

希望这不是太抽象。提前致谢。

0 投票
1 回答
356 浏览

java - 从线程绑定服务

是否可以从线程将服务绑定到服务?

我尝试将一个字符串传递给正在运行的服务,并运行一个方法来显示通知?

知道什么是正确的方法吗?

提前致谢。

0 投票
1 回答
515 浏览

android - 如何从片段绑定服务?

我无法弄清楚如何从片段绑定到服务。

谁能给我一个关于如何做的想法?