한 걸음 두 걸음
Service에서 Activity로 데이터 전달 본문
반응형
MainActivity에서
private BroadcastReceiver mAlertReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
fromAlertStr = intent.getStringExtra("alertStr");
ListElementsArrayList.add(fromAlertStr);
adapter.notifyDataSetChanged();
}
};
로 브로드캐스트리시버 만들어주고,
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocalBroadcastManager.getInstance(this).registerReceiver(
mAlertReceiver, new IntentFilter("AlertServiceFilter")
);
}
이는 미리 등록시켜놓는다.
이제 서비스에서 데이터가 전달되어오면 mAlertReceiver가 자동으로 호출되며 코드가 실행된다.
Service내부에서는
//Activity에 보내서 ListView 업데이트할 내용
private String fromMoveStr = "";
보낼 내용을 담을 String을 하나 두고
fromMoveStr += formatDate.getCalendar().get(Calendar.HOUR) + "시"
+ (formatDate.getCalendar().get(Calendar.MINUTE) - 1) + "분"
+ formatDate.getCalendar().get(Calendar.SECOND) + "초" + "까지 "
+ Minutes+"분동안 "
+ fixedState + "상태 ";
보낼 내용을 만들어두었다가
private void sendMessage(String message) {
Intent intent = new Intent("MoveServiceFilter");
intent.putExtra("message", message);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
}
sendMessage함수 따로 만들어서 intent를 통해 보내준다.
반응형
'FrontEnd > Android' 카테고리의 다른 글
갤럭시 s10e 개발자 모드 옵션 활성화시키기 : 안드로이드스튜디오 개발 앱 설치하기~ (0) | 2019.07.02 |
---|---|
Batterystats 데이터 파일 얻는 방법 (0) | 2019.06.12 |
android 안드로이드 ] 스마트폰 이동 중인지 정지 상태인지 구분하기/ 가속도센서 활용 (0) | 2019.06.11 |
android 안드로이드 ] 실내 실외 구분하기 (0) | 2019.06.11 |
android / 안드로이드 ] LocationListener 내부 오버라이드 함수 (1) | 2019.06.11 |