Service - bindService()
AndroidManifest.xml
<service android:name=".MyService" >
<intent-filter>
<action android:name="com.bob.servicetest" />
</intent-filter>
</service>
Activity
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_start:
bindService(new Intent("com.bob.servicetest"), sc,
Context.BIND_AUTO_CREATE);
isBinded = true;
break;
case R.id.btn_stop:
if (isBinded) {
unbindService(sc);
isBinded = false;
}
break;
}
}
private ServiceConnection sc = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder binder) {
MyService.MyBinder myBinder = (MyBinder) binder;
}
@Override
public void onServiceDisconnected(ComponentName name) {
}
};
MyService.class
public class MyService extends Service {
public static final String TAG = "MyService";
private MyBinder binder;
@Override
public void onCreate() {
super.onCreate();
binder = new MyBinder();
Log.i(TAG, "onCreate");
}
@Override
public IBinder onBind(Intent arg0) {
Log.i(TAG, "onBind");
return binder;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i(TAG, "onStartCommand");
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
super.onDestroy();
Log.i(TAG, "onDestroy");
}
public class MyBinder extends Binder{
public MyService getService(){
return MyService.this;
}
}
}
浙公网安备 33010602011771号