devstory

Exemple de Android Intent implicite, ouvrez une URL, envoyez un email

  1. Android Intent
  2. L'exemple simple avec Intent implicite

2. L'exemple simple avec Intent implicite

Cet exemple simple, lorsque vous cliquez sur un Button qui nécessite de voir le site Web par URL, vous créez Intent implicite, une Intent a été envoyée au système Android pour décider quels composants seront ouverts, peut-être que votre équipement installe de nombreux navigateurs différents (Firefox, Chrome, ...), l'appareil l'ouvrira dans votre navigateur par défaut ou votre navigateur préféré.
En plus, les exemples incluent également:
  • Envoy un e-mail
Note: The Android system will try to find its best application to send email. On the emulator, there may not be a good emailing application.
Créez un nouveau projet Android nommé "ImplicitIntentExample".
  • Name: ImplicitIntentExample
  • Package name: org.o7planning.implicitintentexample
The interface of the application:
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..."));
    }

}

Tutoriels de programmation Android

Show More