从服务的线程更改文本视图

时间:2017-07-10 08:24:22

标签: java android sockets

我有一个粘性的未绑定服务,我通过wifi上的广播接收器开始,即我的服务在wifi打开时启动。我的服务创建了一个线程来执行一些套接字操作。每当socket连接到远程设备时,我想在文本框中显示,手机连接,当它不是它应该显示断开连接。 我尝试过没有任何成功的事情。

  1. 我寻找有约束力的服务。但是我看到的例子显示了一种从MainActivity类调用我的服务类的方法的方法。不是相反。每当Service的线程类中的连接状态发生变化时,我想调用MainActivity的方法来设置文本框的文本。
  2. 我尝试通过接口使用回调,其中MainActivity实现接口。为此,我需要将MainActivity的对象传递给线程类的构造函数。但是服务创建的线程没有参数。这就像制作线程java类的两个对象。一个由不带任何参数的服务,另一个是MainActivity类,它将实例作为参数。
  3. 我尝试通过Parceable将MainActivity实例发送到Service。为此,MainActivity必须实现Parceable,但在实现CREATER时会抛出错误。
  4. 我也遵循了这个answer,但无法理解它正在尝试做什么。
  5. 要么采取错误的做法。或者我遗漏了以上几点。我希望我的文本框内容能够在连接或断开连接时更改,这是在由未绑定服务创建的线程中运行,由广播接收器调用。

0 个答案:

没有答案