Android는 for 루프를 통해 대량 문자 메시지를 보냅니다.
4584 단어 android 응용 프로그램연락처
그 중에서 주요 코드는 다음과 같다(for 순환을 통해 문자 발송)
public class SendManyMessage extends Activity {
PendingIntent paIntent;
SmsManager smsManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_send_many_message);
TextView backButton = (TextView)findViewById(R.id.back_button);
TextView selectANumber = (TextView)findViewById(R.id.select_a_number);
final EditText telNumber = (EditText)findViewById(R.id.tel_number);
TextView sendMes = (TextView)findViewById(R.id.send_mes);
final EditText mesContent = (EditText)findViewById(R.id.mes_content);
final EditText telNum = (EditText)findViewById(R.id.tel_num);
backButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
selectANumber.setOnClickListener(new OnClickListener() {
@Override
//
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK);
i.setType("vnd.android.cursor.dir/phone");
startActivityForResult(i, 0);
}
});
sendMes.setOnClickListener(new OnClickListener() {
@SuppressWarnings("deprecation")
@Override
public void onClick(View v) {
paIntent = PendingIntent.getBroadcast(SendManyMessage.this, 0, new Intent(), 0);
smsManager = SmsManager.getDefault();
String message = "";
int num = 1;
int which = 0;
String phoneNumber = telNumber.getText().toString();
message = mesContent.getText().toString();
try{
num = Integer.parseInt(telNum.getText().toString());
}catch(Exception e){
num = 1;
}
if(message.trim().equals("")){
AlertDialog.Builder builder = new Builder(SendManyMessage.this);
builder.setMessage(" !");
builder.setTitle(" ");
builder.setPositiveButton(" ", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).setNegativeButton(" ", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).show();
}else{
// for
for(int i = 0;i < num;i++){
message = mesContent.getText().toString();
which = i + 1;
message = message + "(" + which + ")";
if(phoneNumber.length() < 11){
AlertDialog.Builder builder = new Builder(SendManyMessage.this);
builder.setMessage(" !");
builder.setTitle(" ");
builder.setPositiveButton(" ", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).setNegativeButton(" ", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).show();
}else{
smsManager.sendTextMessage(phoneNumber, null,message, paIntent, null);
}
}
}
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
EditText telNumber = (EditText)findViewById(R.id.tel_number);
switch (requestCode) {
case 0:
if (data == null) {
return;
}
Uri uri = data.getData();
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
cursor.moveToFirst();
String number = cursor.getString(cursor.getColumnIndexOrThrow(Phones.NUMBER));
Log.d("tag", "number" + number);
telNumber.setText(number);
break;
default:
break;
}
}
}
소스 주소 적용:http://download.csdn.net/download/lyhdream/6572617
참조 주소:http://blog.csdn.net/freestyleboy21/article/details/6849869
http://zhidao.baidu.com/link?url=K0UMZG1sFMAp2_zBcf14TnyaAWI57PQ4k18vKZ8FVNyvH-zM8ixWdIfsXtl7wwGEZWolkNxRI6oNR4V5s4iAOK