Android IntentService에 대해서

인용: http://android.keicode.com/basics/services-intentservice.php 또한 Queue에 들어있는 IntentService가 모두 종료되면 그때 onDestroy 가 호출된다. 작성방법은 먼저 IntentService를 확장한다.

public class MyIntentService extends IntentService {
		public MyIntentService() {
			super("MyServiceNameHere");
		}
		@Override
		protected void onHandleIntent(Intent intent) {
			// TODO 작업내용을 여기에 구현
			try {
				Thread.sleep(10000);
				Intent broadcastIntent = new Intent();
				broadcastIntent.putExtra("message", "Hello, BroadCast!");
				broadcastIntent.setAction("MY_ACTION");
				getBaseContext().sendBroadcast(broadcastIntent);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		@Override
		public IBinder onBind(Intent intent) {
			// TODO 自動生成されたメソッド・スタブ
			return super.onBind(intent);
		}
		@Override
		public void onCreate() {
			// TODO 서비스 생성시에 호출
			super.onCreate();
		}
		@Override
		public void onDestroy() {
			// TODO Queue에 들어있는 모든서비스 종료시에 호출
			super.onDestroy();
		}
		@Override
		public int onStartCommand(Intent intent, int flags, int startId) {
			// TODO 서비스 시작시에 호출
			return super.onStartCommand(intent, flags, startId);
		}
	}
다음으로는 AndroidManifest.xml의 application태그안에 등록한다.

이제 필요할 때 Activity에서 호출하면 된다.
    Intent intent = new Intent(this, MyIntentService.class);
    startService(intent);
정지할때는 stopService를 이용한다. ]]>

Related Posts