service简括二
? bindService()
?
public class BindActivity extends Activity {private Button btnStartBindService;private Button btnStopBindService; private boolean isConnected=false; //service是否创建@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bind); btnStartBindService=(Button)findViewById(R.id.btnStartBindService); btnStopBindService=(Button)findViewById(R.id.btnStopBindService); btnStartBindService.setOnClickListener(listener); btnStopBindService.setOnClickListener(listener); }private OnClickListener listener=new OnClickListener() {@Overridepublic void onClick(View v) {switch(v.getId()){ case R.id.btnStartBindService: bind(); break; case R.id.btnStopBindService: unBind(); break; default: break; }}};private void unBind() {if(isConnected){unbindService(connection);}}private void bind() {Intent intent=new Intent(BindActivity.this,BinderServices.class);bindService(intent, connection, Context.BIND_AUTO_CREATE);}private ServiceConnection connection=new ServiceConnection() {@Overridepublic void onServiceDisconnected(ComponentName name) {// TODO Auto-generated method stubisConnected=false;}@Overridepublic void onServiceConnected(ComponentName name, IBinder binder) {MyBinder myBinder=(MyBinder)binder;//返回MyBinder类,要强制转换BinderServices services=myBinder.getServices();services.myMethod();isConnected=true;}};}
?
?
public class BinderServices extends Service {private static final String TAG = "BinderServices";private MyBinder binder=new MyBinder();public class MyBinder extends Binder{public BinderServices getServices(){return BinderServices.this;}}@Overridepublic IBinder onBind(Intent intent) {// TODO Auto-generated method stubreturn binder;}public void myMethod() {Log.i(TAG,"MyMethod()");}}