小弟初学Android,实现蓝牙通信的一个项目。
在一个Activty里做了蓝牙设备选择界面,选完蓝牙设备以后,开始数据传输。这时用setclass将此Activity 跳转到 数据显示的Activity。
第一个Activity应该是Pause了吧,那我里面的开启的Service是否也会停止呢?
假如Service没有停止,我想在第二个Activity中即时得到Service里新接收到的数据,应该用什么通信方法?感谢前辈指导,另外若能给出示例代码或链接,小弟不胜感激。

解决方案 »

  1.   

    Service一般是不会随着Activity停止而停止的,你如果要让Service发数据给Activity,可以通过广播的方式。
      

  2.   

    如果是用startService启动的服务,是不会停止的
    如果是用bindservice绑定的服务,则该服务是停止的
    所以耗时较长的操作应该使用startService启动服务,并在服务的onStartCommand中开始执行
    如果需要activity和service之间传输消息可以再绑定服务来传输信息
      

  3.   

    service可以不依赖activity存在
    两者通信常用broadcast
      

  4.   

    补充一下,想要他停止,必须调用stopService方法.
      

  5.   

    小弟再请教一个问题。
    我用了Thread类,也用了Runable接口,也都是用的网上别人提供的例程,为什么我每次都无法进入run()方法呢?通过设置输出可以看到start()确实通过了,但是里面的run()就是一直没有执行,而是主线程一直再干自己的事情?在网上找了好久,我也给线程里加了同步,也没找到原因。