Cодержание
Пример неявного Android Intent, откройте URL, отправьте email
View more Tutorials:


Простой пример, когда вы нажимаете на Button запрашиваете посмотреть веб данный URL-ом, вы создаете неявное намерение (Intent), Intent отправляется системе Android решает какой компонент будет открыт, возможно в вашем устройстве есть много разных приложений (Firefox, Chrome,..), устройство откроет браузер по умолчанию или ваш предпочитаемый браузер.

Помимо это в пример так же есть:
- Отправление email

Примечание: Система Android постарается найти свое лучшее приложение, чтобы отправить email. На эмуляторе (emulator) возможно не имеется достаточно хорошего приложения для отправки email.
Создать новый Android project с названием "ImplicitIntentExample".

- Name: ImplicitIntentExample
- Package name: org.o7planning.implicitintentexample

Интерфейс приложения:

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/button_openURL"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="38dp"
android:text="Open Google.com"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button_sendEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="42dp"
android:text="Send Email"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button_openURL" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
package org.o7planning.implicitintentexample;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.net.Uri;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button buttonOpenURL;
private Button buttonSendEmail;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.buttonOpenURL = (Button) this.findViewById(R.id.button_openURL);
this.buttonSendEmail = (Button) this.findViewById(R.id.button_sendEmail);
this.buttonOpenURL.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openURL();
}
});
this.buttonSendEmail.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sendEmail();
}
});
}
// The method is called when the user clicks on "Open google.com" button.
public void openURL( ) {
String url="https://google.com";
// An implicit intent, request a URL.
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
this.startActivity(intent);
}
// The method is called when the user clicks on "Send Email" button.
public void sendEmail( ) {
// List of recipients
String[] recipients=new String[]{"friendemail@gmail.com"};
String subject="Hi, how are you!";
String content ="This is my test email";
Intent intentEmail = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
intentEmail.putExtra(Intent.EXTRA_EMAIL, recipients);
intentEmail.putExtra(Intent.EXTRA_SUBJECT, subject);
intentEmail.putExtra(Intent.EXTRA_TEXT, content);
intentEmail.setType("text/plain");
startActivity(Intent.createChooser(intentEmail, "Choose an email client from..."));
}
}