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

브로드 캐스트 리시버 안에서 값 리턴

0 추천
public class ScreenReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent){

 new TestTask().execute(); //실행
 
 여기에서 밑에 리턴되는 result 값을 받아 처리하고 싶은데 만약 리턴 되는
 result 값이 ok이라면
 String k = "ok"; //제가 지정한 값
 if(k == result){
  해당 작업 처리
 }
    }//onReceive

    public class TestTask extends AsyncTask<String, String, String>{
 @Override
        protected String doInBackground(String... params) {
 String result = "";
  try{
   처리할 내용
   Log.i("결과",result); //로그에 result 값이 ok라고 찍힌다.
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  }
  
  return result; //로그에 찍힌 결과 result 를 리턴한다.
 }//doInBackground
   
    }//TestTask
}//ScreenReceiver

onReceive 에서 리턴되는 result 값을 가져오고 싶은데 잘 안되는데요...알려주시면 감사하겠습니다.
견이갱이 (240 포인트) 님이 2014년 2월 13일 질문

2개의 답변

+1 추천

AsyncTask class 내부에서 

onPostExecute 메서드 오버라이드 하면

doInBackground의 리턴값이 인자로 들어옵니다.

아래와 같이 해보세요...

 

onPostExecute(String result){

        super.onPostExecute(result);

        if("지정한 값".equals(result)){

                // do something

        }

}

칠리님 (10,910 포인트) 님이 2014년 2월 14일 답변
0 추천
방법은많아요 가장기본적인게 handler사용..
mamongs (4,050 포인트) 님이 2014년 2월 14일 답변
...