마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

intent getIntent 질문입니다.

0 추천

bool형 데이터를 보내고 받는데요..

 

이상하게 값이 안들어와서 질문드립니다..

소스입니다.

 

Intent intent = new Intent(this, SettingsActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("regOk", true);
startActivity(intent);

보내는 쪽이구요

 

boolean regOkIntent = false;
Intent intent = getIntent();
Bundle data = intent.getExtras();
regOkIntent = data.getBoolean("regOk");

받는쪽입니다

 

regOkIntent를 true로 보냈는데도 자꾸 false가 반환되는데.. 이유를 모르겠습니다

 

보내는곳도 액티비티입니다.

 

추가 질문이 있는데요..

 

A B C 액티비티가 있습니다
 
A에서 startActivity()로 B를 호출합니다. 또 C 액티비티에서도 startActivity()로 B를 호출합니다.
 
그런데 A에서는 단순히 호춞란 하지만
 
C에서는 intent에 값을 담아 넘기는데요.
 
B 액티비티 onStart()에다가 C에서 보낸 인텐트를 받아서 처리하게 끔 했는데
 
이렇게되니까 A에서 그냥 B를 호출했을 때 getExtra() 부분이 null이라고 나옵니다.
 
당연한거라고 생각하는데..
 
질문입니다.
 
어느 쪽에서 온 intent인지 구분할 수 있나요?
 
아니면 누가 날 호출했는지 호출한 놈이나 받은놈이나 알려주고 알 수 있나요?

 

 

윤둥이 (4,560 포인트) 님이 2014년 3월 21일 질문

1개의 답변

0 추천

아래와 같이 해보세요.

 

보내는 쪽은 그대로고

 

Intent intent = new Intent(this, SettingsActivity.class);
intent.putExtra("regOk", true);
startActivity(intent);

 

받는 쪽을 bundle 쓰지마시고 요로코롬 '-'

 

boolean regOkIntent = false;
Intent intent = getIntent();
regOkIntent = intent.getBooleanExtra("regOk", false);

 

번들은 자료형이 한정되어있어용 아래 링크 참조하세요
초보개발자ㅠ (33,870 포인트) 님이 2014년 3월 21일 답변
...