Beispiel für implizite Android Intent, Öffnen Sie eine URL, senden Sie eine Email

View more Tutorials:

1- Android Intent

2- Das einfache Beispiel über das implizite Intent

Ein folgend einfaches Beispiel: Wenn Sie auf einen  Button zum Öffnen einer URL Website klicken, erstellen Sie eine implizite Intent. Intent wird zum Android geschickt, damit das System auf welcher Browser zu öffnen wählt. Vielleicht gibt es in Ihrem Gerät vielen unterschiedlichen Browser (Firefox, Chrome...) und das Gerät wird die Website auf einem Default-Browser oder Ihrem beliebten Browser öffnen.
Außerdem schließt das Beipeil ein:
  • Email senden
Hinweis: Das Android-System wird versuchen, seine beste Anwendung zu finden, um E-Mails zu senden. Auf dem Emulator gibt es möglicherweise keine gute E-Mail-Anwendung.
Erstellen Sie ein Android Projekt mit dem Name von "ImplicitIntentExample".
  • Name: ImplicitIntentExample
  • Package name: org.o7planning.implicitintentexample
Die Interface der Anwendung
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..."));
    }

}

View more Tutorials: