사용자가 내 버튼을 클릭하면 두 가지 기능, 즉 SMS 전송과 전자 메일 보내기가 수행됩니다.다른 프로세스를 시작하기 위해 프로세스가 완료 될 때까지 대기
이 버튼을 클릭하면 SMS가 전송되고 갑자기 이메일 창이 클라이언트 팝업을 선택합니다. SMS 클라이언트 기능을 완료 한 후에 만 전자 메일 클라이언트 선택 창을 표시하고 싶습니다.
코드를 어떻게 변경해야합니까?
Button hi= (Button) findViewById(R.id.button1);
hi.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
sendsms();
sendemail();
}
private void sendemail() {
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to1});
email.putExtra(Intent.EXTRA_CC, new String[]{ to2});
email.putExtra(Intent.EXTRA_BCC, new String[]{to3});
email.putExtra(Intent.EXTRA_BCC, new String[]{to4});
email.putExtra(Intent.EXTRA_BCC, new String[]{to5});
email.putExtra(Intent.EXTRA_SUBJECT, subject);
email.putExtra(Intent.EXTRA_TEXT, emailmessage);
//need this to prompts email client only
email.setType("message/rfc822");
startActivity(Intent.createChooser(email, "Choose an Email client :"));
}
sendsms()
{
String receipentsNumber[] = {"111","222","333","444","555"};
for (int i = 0; i < receipentsNumber.length; i++) {
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(receipentsNumber[i], null, message, null,
null);
System.ot.println(getApplicationContext(), "SMS Sent to" + " " + receipentsNumber[i], Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getApplicationContext(),
"SMS faild, please try again later!", Toast.LENGTH_LONG)
.show();
e.printStackTrace();
}
}
}
});
sendSMS()의'for 루프 '다음에'sendMail()'을 호출하십시오. –