Espera a que el proceso termine para iniciar otro proceso.

Cuando el usuario hace clic en mi botón, realiza dos funciones: enviar un SMS y enviar un correo electrónico.

Cuando hago clic en este botón, el SMS se envía y, de repente, el correo electrónico elige ventanas emergentes del cliente. Quiero que la ventana de selección del cliente de correo electrónico se muestre solo después de completar la función de envío de SMS.

¿Cómo debo cambiar mi código?

     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();
            }

        }
    }

});

Respuestas a la pregunta(1)

Su respuesta a la pregunta