- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
onBind()
方法的“绑定(bind)”操作与仅调用 onStartCommand()
有何不同?
onStartCommand()
“当另一个组件(例如 Activity )通过调用 startService()
请求启动服务时,系统将调用此方法。”
onBind()
当另一个组件想要与服务绑定(bind)时(例如执行 RPC),系统通过调用 bindService()
调用此方法。
我想编写一个聊天客户端服务来接收来自多个用户的消息。哪个函数更合适?
最佳答案
第一个 (onStartCommand()
) 在您的 Service
开始工作时调用。 onCreate()
已经完成,可以开始做需要做的事情了。
第二个 (onBind()
) 在另一个线程注册连接到服务以便它们可以通信时被调用。您可以在此处配置或设置通信方式,例如接口(interface)验证或回调注册 Activity 。
绑定(bind)允许您将服务与 Activity 的生命周期相关联。如果 Activity 完成,则允许释放服务并可以自行完成。只要还有东西绑定(bind)到服务上,该服务就会持续存在。
关于android - onStartCommand() 和 onBind() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24345755/
我在 Android 上开发了一个 GPS 跟踪应用程序。我使用 AlarmManager 每 5 分钟唤醒一次设备。我开发了一个日志文件,显示该应用程序运行良好,直到我收到 public int o
我有一个简单的服务: public class TestService extends Service { final String LOG_TAG = "myLogs"; public void o
当我调用 this.startService(new Intent(this, Some_Service.class)); 我知道 onCreate() 被调用,然后是 onStartCommand(
我在使用实现 onStartCommand() 的服务时有点困惑。 在某些示例中,onStartcommand() 方法已实现,但在某些地方未实现。对于我需要使用此方法的原因,您能否澄清我的疑问。 最
我有一个测试项目,我的简单测试用例扩展了AndroidTestCase类: public class MyTest extends AndroidTestCase{ private Conte
我有一项服务,只要用户使用它,我就会尝试持续运行。问题是该服务使用了大量内存;我猜是因为它会通知用户并不断显示图像。所以我将大部分代码放在另一个 Activity 中。服务只是调用 Activity
我有一个后台服务,我可以使用应用程序菜单启动或停止该服务。该服务也可以在模拟器设备启动时启动。但奇怪的是,我只在设备启动时看到 toast 消息,而 jobThread 没有启动......即使我从菜
我想知道如果两个不同的线程同时调用服务A上的startService,服务是否执行onStartCommand() 两者分开还是一个取消另一个? 我想了解 Android 中的服务。 最佳答案 Ser
我必须确保我的 Service 会运行,直到我显式调用 stopService()。所以我应该从 onStartCommand() 返回 START_STICKY 标志。 我还希望万一我的服务因为内存
我注意到 Service.START_STICKY 不工作,当我仔细观察时,我看到 onCreate() 正在运行但没有调用 onStartCommand。 有什么想法吗? @Override
当我单击播放按钮播放歌曲并将歌曲 mp3 与其 bundle 在一起并在 onStartCommand 中接收时,我就开始了我的服务。问题是当我启动服务的 Activity 结束时,我的服务再次调用
我正在尝试创建一个将在后台处理文件 I/O 的服务。更新数据的 Activity 将绑定(bind)到服务并调用服务的方法来执行 I/O。我正在使用 Android 文档作为指导。 但是,我的服务似乎
我一直在查看文档,有时 onStartCommand() 返回 START_NOT_STICKY,有时返回以下内容: @Override public int onStartCommand(Inten
我有一个服务,我需要从服务 onStartCommand 访问上下文。 我怎么能这样。我是 Android 新手。 最佳答案 可以使用ServiceName.this获取Context,Service
我想从我的 Activity 类(class)中启动一项服务。问题是,onStartCommand 永远不会被调用。我在那里放置了断点,但它从未被击中。我的例子非常简单,我不明白为什么它不起作用。 M
我正在尝试在 android 中创建一个简单的服务。 我检查了“设置”->“应用程序”选项卡,可以看到该服务正在运行。不幸的是 OnStartCommand 函数没有被执行。我什至看不到 toast
我有一个运行两个独立服务的应用程序。其中一个运行平稳,另一个大部分时间都没有问题,但抛出一个 NullPointerException在 onStartCommand() 内在 4.1 和 4.4.2
我目前正在从 Service 类扩展我的自定义服务实现。作为 Android-O 迁移的一部分,我想使用 JobIntentService。 目前我所有的逻辑都在服务的 onStartCommand
我有以下代码 @Override public int onStartCommand(Intent intent, int flags, int startId) { if(intent !=
在 Android 文档中,服务的“onStartCommand()”有一个作为 param 给出的 Intent ,根据文档: “提供给 startService(Intent) 的 Intent,
我是一名优秀的程序员,十分优秀!