public
class
MainActivity
extends
Activity
implements
OnClickListener{
Button
but;
Button
but2;
LocalBinder
binder;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
but
= (Button) findViewById(R.id.button1);
but.setOnClickListener(
this
);
but
= (Button) findViewById(R.id.button2);
}
ServiceConnection
connection =
new
ServiceConnection(){
@Override
public
void
onServiceConnected(ComponentName arg0, IBinder arg1) {
Log.d(
"D1"
,
"connecting"
);
binder
= (LocalBinder) arg1;
}
@Override
public
void
onServiceDisconnected(ComponentName arg0) {
Log.d(
"D1"
,
"disconnecting"
);
}
};
public
static
class
ServiceTest
extends
Service{
@Override
public
IBinder onBind(Intent arg0) {
return
new
LocalBinder();
}
public
class
LocalBinder
extends
Binder{
public
void
toast(){
Toast.makeText(getApplicationContext(),
"hope
this works"
,
Toast.LENGTH_LONG).show();
}
}
}
@Override
public
void
onClick(View arg0) {
Intent
i =
new
Intent(getApplicationContext(), ServiceTest.LocalBinder.
class
);
bindService(i,
connection, Context.BIND_AUTO_CREATE);
Toast.makeText(getApplicationContext(),
"bind
completed"
,
Toast.LENGTH_LONG).show();
}
public
void
binderMethod(View v){
binder.toast();
}
}
}