原acitivity中
Intent i=new Intent(当前.this,service);
i.putExtra("标记","内容");
startService(i);
Service中
OnstartCommand(Intent intent,int flag,int startID){
intent.getStringExtra("标记“);
}
绑定service
ServiceConnection conn=new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName arg0) {
// TODO Auto-generated method stub
}
@Override
public void onServiceConnected(ComponentName arg0, IBinder arg1) {
// TODO Auto-generated method stub
在连上后做什么
arg1为service中onbind的返回值
}
}
};
Intent i=new Intent(MainActivity.this,Myservice.class);当前类.this 目标service
bindService(i, conn, BIND_AUTO_CREATE);
Acticity与service通信
Service中
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return new Mybinder();
}
class Mybinder extends Binder{
Myservice getMyservice(){
return Myservice.this;
}
}
通过interface Callback
public static interface Callback{
void ondataChange(String data);
}
callback.ondataChange(i+"");
Activity中
public void onServiceConnected(ComponentName arg0, IBinder arg1) {
// TODO Auto-generated method stub
binder=(Mybinder) arg1;
binder.getMyservice().setCallback(new Callback() {
@Override
public void ondataChange(String data) {
// TODO Auto-generated method stub
System.out.println(data);
}
});
}