У меня есть приложение, в котором есть две кнопки - одна для электронной почты & одна для SMS. В зависимости от нажатой кнопки я хочу отправить по электронной почте или SMS-сообщение с определенным текстом. Я закодировал кнопку электронной почты, и она работает нормально. Проблема заключается в том, что всплывающее диалоговое окно дает возможность отправлять электронную почту или передавать сообщения. Я хочу выделить их, так что, когда пользователь нажимает на электронную почту, доступны только параметры электронной почты, и когда пользователь нажимает SMS, доступна только опция обмена сообщениями.Android: Отдельные намерения для электронной почты и SMS
Вот код, который я пробовал.
private void sendEmail(){
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_EMAIL , new String[]{"[email protected]"});
i.putExtra(Intent.EXTRA_SUBJECT, "Subject of the message");
i.putExtra(Intent.EXTRA_TEXT , "Body of the message");
try {
startActivity(Intent.createChooser(i, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}
}
В основном там, кажется, одна цель Intent.ACTION_SEND для обоих писем & сообщениями.
Любой способ их разделить?
Я использовал первый (так как я хотел запустить SMS ap p, чтобы дать пользователю возможность редактировать текст). Он отлично работает! Как вы используете «vnd.android-dir/mms-sms» для setType для SMS, знаете ли вы, что String используется для отправки только электронной почты? – OceanBlue