我是靠谱客的博主 疯狂凉面,最近开发中收集的这篇文章主要介绍Android中bindService的使用方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

bindService用于绑定一个服务。这样当bindService(intent,conn,flags)后,就会绑定一个服务。这样做可以获得这个服务对象本身,而用startService(intent)的方法只能启动服务。

    bindService方式的一般过程:

新建Service类BindService。在BindService类里新建内部类MyBinder,继承自Binder(Binder实现IBinder接口)。MyBinder提供方法返回BindService实例。

    public class MyBinder extends Binder{
        
        
public BindService getService(){
            
return BindService.this;
        }
    }

实例化MyBinder得到mybinder对象;

重写onBind()方法:

 @Override
 public IBinder onBind(Intent intent) {
  return mybinder;
 }

在Activity里,实例化ServiceConnection接口的实现类,重写onServiceConnected()和onServiceDisconnected()方法

ServiceConnection conn=new ServiceConnection(){

  @Override
  public void onServiceConnected(ComponentName name, IBinder service) {
  }

  @Override
  public void onServiceDisconnected(ComponentName name) {
  }

};

在Activity的onCreate()方法里,新建Intent,并绑定服务

        Intent intent=new Intent(MainActivity.this,BindService.class); 
        bindService(intent, conn,BIND_AUTO_CREATE);

 

在Activity的onDestroy里面,添加

unbindService(conn);

如果不加这一步,就会报android.app.ServiceConnectionLeaked: ******.MainActivity has leaked ServiceConnection的异常。

 

bindService()的执行过程如下:

bindService(intent,conn,flag)->Service:onCreate()->Service:onBind()->Activity:onServiceConnected()

最后

以上就是疯狂凉面为你收集整理的Android中bindService的使用方法的全部内容,希望文章能够帮你解决Android中bindService的使用方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部