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

앱에서 여러명에게 단체문자 보내기.

0 추천
public class SMS extends Login {
 String SENT;
 String DELIVERED;
 PendingIntent sentPI;
 PendingIntent deliveredPI;

 public void sendSMS(String phoneNumber, String message) {
  // 실질적인 보내는 메소드
  SENT = "SMS_SENT";
  DELIVERED = "SMS_DELIVERED";
  sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
  deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);

  registerReceiver(new BroadcastReceiver() {
   public void onReceive(Context arg0, Intent arg1) {
    switch (getResultCode()) {
    case Activity.RESULT_OK:
     // Toast.makeText(getBaseContext(), "SMS 전송",
     // Toast.LENGTH_SHORT).show();
     // 문자전송성공시 뜨는 문구
     break;
    case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
     Toast.makeText(getBaseContext(), "제네릭을 찾을 수 없습니다.", Toast.LENGTH_SHORT).show();
     // 문자전송 실패시 제네릭 실패
     break;
    case SmsManager.RESULT_ERROR_NO_SERVICE:
     Toast.makeText(getBaseContext(), "서비스 중이 아닙니다.", Toast.LENGTH_SHORT).show();
     // 서비스 실패
     break;
    case SmsManager.RESULT_ERROR_NULL_PDU:
     Toast.makeText(getBaseContext(), "PDU를 찾을 수 없습니다.", Toast.LENGTH_SHORT).show();
     // 에러PDU실패
     break;
    case SmsManager.RESULT_ERROR_RADIO_OFF:
     Toast.makeText(getBaseContext(), "수신자를 잡을 수 없습니다.", Toast.LENGTH_SHORT).show();
     // 수신자가 꺼져있음
     break;
    }
   }
  }, new IntentFilter(SENT));
  registerReceiver(new BroadcastReceiver() {
   @Override
   public void onReceive(Context arg0, Intent arg1) {
    switch (getResultCode()) {
    case Activity.RESULT_OK:
     // Toast.makeText(getBaseContext(), "SMS delivered",
     // Toast.LENGTH_SHORT).show();
     break;
    case Activity.RESULT_CANCELED:
     // Toast.makeText(getBaseContext(), "SMS not delivered",
     // Toast.LENGTH_SHORT).show();
     break;
    }
   }
  }, new IntentFilter(DELIVERED));

  SmsManager sms = SmsManager.getDefault();
  sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
 }

}

안드로이드 내부db로 전화번호는 따로 저장해놓은 상태입니다.

커스텀 리스트뷰를 사용해서

이름 - 번호 - (전송버튼)    이런형식으로 만들어놨고

옆에 전송버튼을 누르면 개인적으로 문자는 전송이 됩니다.

전체전송이란 버튼을 누르면 db에 저장된 사람들에게 전체문자를 보내려고하는데

문자 보내는 방법은 구글링으로 찾은 소스를 사용했습니다.(위의 소스)

위의 방식말고 전체 문자보내는 방법이 있을까요...?

 

 

공부하고싶습니다 (270 포인트) 님이 2015년 8월 17일 질문

1개의 답변

+1 추천
 
채택된 답변
1. 번호 가져오기 가능

2. 개별 전송 가능

이 두 개가 해결됐으니 그냥 loop 돌면서 전체 전송하면 되는데요.
쎄미 (162,410 포인트) 님이 2015년 8월 17일 답변
공부하고싶습니다님이 2015년 8월 17일 채택됨
음.. 개별 문자보낼때는 번호를
final String number = cursor.getString(cursor.getColumnIndex(mDBhelper.KEY_NUMBER)); 이렇게 가져와서 사용하는데..

loop를 어떻게 돌려야하나요 ㅠ?
while - cursor를 다음으로 넘겨가면서 하면 되겠죠?
아...감사합니다 해결했습니다!!!!!
쎄미님도 정말 감사합니다. 두분다 감사드립니다!!
...