
package com.example.myact10; import com.example.myact10.MyService.MyBinder; import android.support.v7.app.ActionBarActivity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.util.Log;
import android.view.View;
import android.widget.Button;
/**
* Android bindService实现Activity和service的绑定
* @Describe:
* @package: com.example.myact10
* @author shaobn
* @date 2015-9-15 下午2:25:52
*/
public class MainActivity extends ActionBarActivity {
private Button myButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myButton = (Button) this.findViewById(R.id.button1);
myButton.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
ServiceConnection serviceConnection = new ServiceConnection() { @Override
public void onServiceDisconnected(ComponentName arg0) {
// TODO Auto-generated method stub
} @Override
public void onServiceConnected(ComponentName arg0, IBinder inBinder) {
// TODO Auto-generated method stub
MyBinder myBinder = (MyBinder)inBinder;
Log.i("String",myBinder.getData());
}
};
Intent intent = new Intent();
intent.setClass(MainActivity.this,MyService.class);
bindService(intent, serviceConnection,BIND_AUTO_CREATE);
}
});
} }
package com.example.myact10; import android.app.Service;
import android.content.Intent;
import android.os.Binder;
import android.os.IBinder; public class MyService extends Service {
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
MyBinder myBinder = new MyBinder();
return myBinder;
}
public class MyBinder extends Binder{
public String getData(){ return "onBind Service";
} } }