- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个服务,当不再有任何 Activity 绑定(bind)到它时,我想确保它不会停止()。
我知道 startService() 用于实现此目的,但是可以从服务的 onBind() 方法中调用它吗?
从 Activity 中调用它对我来说似乎是一个 hack,因为服务最清楚它是否想在 onUnbind() 之后停留。
Activity 指示服务的当前状态并提供一些控制,因此 bindService() 似乎是适合在此处使用的方法。
最佳答案
从 onBind()
中调用 startService()
应该没问题。如果您在 onBind()
中有逻辑可以确定服务需要保持运行,即使客户端已解除绑定(bind),那么这似乎是执行此操作的合乎逻辑的地方。
我不同意声称不推荐的答案。您所描述的体系结构有效地利用了封装。客户只想绑定(bind)/解除绑定(bind),他们不必知道服务是如何(内部)实现的。服务应该控制自己的生命周期。
关于android - 从 Service.onBind() 中调用 Service.startService() 可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14800859/
我正在编写一个带有绑定(bind)服务的基于服务的应用程序,但该服务的 onBind() 方法似乎从未被调用(使用 Toasts 和 Logs 对其进行测试)。 服务: import android.
我有一个远程服务,外部应用程序可以绑定(bind)到该服务。在某些情况下,我可能希望拒绝绑定(bind)。 According to the documentation , Return the co
我是安卓新手,我必须编写一个服务(在不同的进程上)来处理我的互联网通信功能,我查看了一些博客,发现使用 Messenger 我们可以在 Activity 和服务(在不同的进程上)之间进行通信, 我的问
我有一个关于 Android 服务的理解问题。我有一个执行后台 http 操作的服务和一个应该显示这些 http 操作的当前状态的 Activity 。 所以我实现了 Binder 接口(interf
使用 gingerbread 2.3.4 api lvl 10。 我在启动完成后启动服务。为此,我添加了一个启动服务的广播接收器。我在启动器中使用相同的服务。我试图通过向 Intent 添加额外的参数
我遇到了以下情况。我的应用程序中有一项服务。该 Activity 使用 startService() 启动它,以防止它在将来取消绑定(bind)时关闭。然后使用 bindService() 绑定(bi
一旦我开始搜索/过滤我的 recyclerview 列表结果,我就会不断从搜索适配器中的 onBind 方法中获取 IndexOutofBoundsException。这是异常(exception):
我希望只有某些应用程序可以执行绑定(bind)到服务。我可以通过服务中的适当代码阻止某些应用程序绑定(bind)到服务吗?例如,如果服务有一个允许的应用程序列表(即,一个简单的字符串数组及其包名称),
我正在尝试创建一个可绑定(bind)的粘性服务(我需要在后台对该服务持有的某些数据运行潜在的异步操作)。为此,我需要确保 onBind 始终在 onStartCommand 之后运行。有什么办法可以保
onBind() 方法的“绑定(bind)”操作与仅调用 onStartCommand() 有何不同? onStartCommand() “当另一个组件(例如 Activity )通过调用 start
我试图实现一个简单的 RecyclerView 示例,其中的项目交替着色 /image/BFmJi.jpg效果很好 如果没有 Framelayout,我们将获得清晰的着色代码,如第一张图片所示即元素以
警报不会触发,因为缺少 openClose() 函数并引发错误。 如何解除绑定(bind)或更好地删除 onclick 标签? $('.spoilertop').click(function(){
我目前正在使用适配器返回 2 个列表中的项目集,这样: private List mListResponseList; private List mMyEventsList; 现在,MyListRes
在我的应用程序中,我有一个用于播放 MP3 流音乐的服务。我启动它 (startService()) 并连接到它 (bindService()),因此当没有客户端连接时它不会停止。如果播放器暂停,我会
我有一项服务主要管理用于播放播客 的MediaPlayer 实例。一旦 Activity 绑定(bind)到服务,它就可以执行播放、暂停、停止等操作。我使用服务是因为我希望播客即使在 Activity
我的应用程序遇到了一个奇怪的问题。我有一个在后台运行的 LocationService。我管理其生命周期的方式是: 在 onResume 中,每个 Activity 都使用 bindService(i
如果我尝试使用 Context.bindService() 绑定(bind)到服务,并且该服务尚未运行/启动,我是否可以保证 onCreate那个Service肯定会在onBind之前被调用?我找不到
我正在尝试绑定(bind)服务,但 onBind() 总是返回 false。 这是ServiceConnection的代码- private ServiceConnection mConnection
RecyclerView 没有调用 onCreate 或 onBind 或构造函数。没有断点命中或日志。可能是什么原因?可能是什么原因?任何人如何解决这个问题?这是我的代码。适配器: public c
我正在尝试制作一个按钮来更改 Android Lollipop 中的中断过滤器(无、优先级、全部)。当我按下按钮时,日志显示 W/NotificationListenerService[Notif
我是一名优秀的程序员,十分优秀!