안드로이드 개발 질문/답변
(글 수 45,052)
activity에서 Broadcast Receiver를 onResume()에 intentFilter에 addaction한다음
BroadcastReceiver를 이너클래스로 action을 구분하여 list로 결과값을 뿌려주었는데요
pacakage (설치,제거,업데이트)의 로드캐스트는 로우단에서 처리하는 방법을 못 찾아서
매니페스트에 등록하고 리시버를 상속받은 클래스에서 처리하게 끔 구현하니까 결과값을 뽑을수 있더라구요
하지만, 리시버에서 log를 찍거나 Toast로 결과값을 받을수는 있지만
기존 activity에서 list로 뿌려주려면 activity에 있는 list에 결과값을 뿌려줘야 하는데
어떻게 해야할지 모르겠네요 ㅠㅠ
기초가 부족한건지..ㅡㅡ;
답답합니다 고수께서 도와주시면 정말 감사하겠습니다
제발 도와주세요 ..;;
MainActivity
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
list = (ListView) findViewById(R.id.rdList);
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
list = (ListView) findViewById(R.id.rdList);
// BR 신호가 잡힐때 마다 list에 추가
data = new ArrayList<String>();
data = new ArrayList<String>();
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, data);
android.R.layout.simple_list_item_1, data);
list.setAdapter(adapter);
}
public void sendMessage(String send_br) {
data.add(send_br);
data.add(send_br);
// 반드시 호출하여야 되는 메소드
adapter.notifyDataSetChanged();
adapter.notifyDataSetChanged();
}
@Override
protected void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_BATTERY_LOW);
registerReceiver(d2BR, filter);
}
BroadcastReceiver d2BR = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_BATTERY_LOW)) {
sendMessage("배터리 위험 수준");
Toast.makeText(context, "배터리 위험 수준", Toast.LENGTH_SHORT).show();
}
////////////////////////
D2BR 문제의 리시버 기존 ACTIVITY의 LIST에 결과값을 뿌려주고 싶습니다
public class D2BR extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, intent.getAction(), Toast.LENGTH_SHORT).show();
}}
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, intent.getAction(), Toast.LENGTH_SHORT).show();
}}



