Service

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;
		}
	}
}

  

原文地址:https://www.cnblogs.com/songsiyao/p/3447859.html