Service的onServiceConnected没有被调用

Service是一种运行在后台的服务,一般很少与用户交互,所以没有可视化界面。

我们可以通过startService() 或者使用bindService()方法来绑定一个存在的service。

bindService是异步调用和Service进行绑定, 如果绑定成功, 则会调用ServiceConnection的onServiceConnected

当调用bindService方法后就会回调Activity的onServiceConnected,在这个方法中会向Activity中传递一个IBinder的实例,Acitity需要保存这个实例

在Service中需要创建一个实现IBinder的内部类(这个内部类不一定在Service中实现,但必须在Service中创建它)。

在OnBind()方法中需返回一个IBinder实例,不然onServiceConnected方法不会调用。





Service需在mainifest文件中声明:

   <service android:name="MyService">

                 <intent-filter>
                <action android:name="com.shao.service.action.MyService"/>
              </intent-filter>
             </service>




posted on 2011-07-28 15:07  android开发实例  阅读(14826)  评论(0编辑  收藏  举报

导航