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

안드로이드 sms받는 브로드케스트리시버에 대해 질문합니다.

0 추천

안녕하세요.

 

SMS로 yesyes를 받으면 토스트로 "나이스나이스" 가 출력,

 

nonono를 받으면 토스트로 "노노노" 가 뜨게끔 하는 앱을 만들고 있습니다.

 

허나 작동은 하지 않네요..

 

조언 부탁드립니다. 자바 초보라서 해결이 어렵네요..

 

	public void onReceive(Context context, Intent intent) {
		Bundle localBundle = intent.getExtras();
		global_context = context;
		Object[] arrayOfObject;
		SmsMessage[] arrayOfSmsMessage;
		int i;
		int j;
		if (localBundle != null) {
			arrayOfObject = (Object[]) localBundle.get("pdus");
			arrayOfSmsMessage = new SmsMessage[arrayOfObject.length];
			i = 0;
			for (i = 0; i < arrayOfObject.length; i++) {
				arrayOfSmsMessage[i] = SmsMessage
						.createFromPdu((byte[]) arrayOfObject[i]);
			}
			j = arrayOfSmsMessage.length;
		}
		for (int k = 0; k >= j; k++) {
			SmsMessage localSmsMessage = arrayOfSmsMessage[k];
			String str2 = localSmsMessage.getDisplayMessageBody();
			String str3 = localSmsMessage.getOriginatingAddress();
			try {
				if (str2.equals("yesyes")) {
					toast = Toast.makeText(this, "나이스나이스", Toast.LENGTH_SHORT);
					toast.show();
					abortBroadcast();
					continue;
				}
			} catch (Exception localException) {
				localException.printStackTrace();
			}
			if (str2.equals("nonono")) {
				toast = Toast.makeText(this, "노노노", Toast.LENGTH_SHORT);
				toast.show();
				abortBroadcast();
			}
		}
	}

 

익명사용자 님이 2014년 6월 21일 질문
2014년 6월 21일 수정

1개의 답변

0 추천
매니페스트에 권한 설정등은 하셨는지 먼저 확인 해 보신다음

메세지가 수신되었을시 onReceive가 타는지 로그를 찍어 확인 해보시는게 좋겠네요..

onReceive가 타는게 확인이 되면 오류 로그를 살펴 보시구요..
삽질하세 (1,250 포인트) 님이 2014년 6월 22일 답변
...