<service android name=".FirstService"></service>
Intent intent = new Intent();intent.setClass(TestActivtiy.this, FirstService.class);startService(intent);
Intent intent = new Intent();intent.setClass(TestActivtiy.this, FirstService.class);stopService(intent);
public class MainActivity extends ActionBarActivity {
private Button button1;
private Button button2;
private Binder binder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button)findViewById(R.id.button1);
button2 = (Button)findViewById(R.id.button2);
ButtonListener listener = new ButtonListener();
button1.setOnClickListener(listener);
SecondButtonListener secondlistener = new SecondButtonListener();
button2.setOnClickListener(secondlistener);
}
class ButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(MainActivity.this, SecondService.class);
bindService(intent, conn, BIND_AUTO_CREATE);
}
}
class SecondButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
Parcel data = Parcel.obtain();
Parcel reply = Parcel.obtain();
data.writeString("(^U^)ノ~YO ");
try {
binder.transact(0, data, reply, 0);
System.out.println("reply-------->" + reply.readString());
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
ServiceConnected conn = new ServiceConnected();
class ServiceConnected implements ServiceConnection{
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
MainActivity.this.binder = (Binder)service;
}
@Override
public void onServiceDisconnected(ComponentName name) {
// TODO Auto-generated method stub
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}