openplanning

Ví dụ về Android Intent không tường minh, mở một URL, gửi một email

Xem thêm các chuyên mục:

Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người.
Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất.
Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi.
Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới. Facebook

1- Android Intent

2- Ví dụ đơn giản với Intent không tường minh

Ví dụ đơn giản dưới đây, khi bạn click vào một Button yêu cầu xem một trang web cho bởi một URL, bạn tạo một ý định (Intent) không tường minh, Intent được gửi cho hệ thống Android quyết định sẽ mở thành phần gì, có thể trong thiết bị của bạn cài nhiều trình duyệt khác nhau (Firefox, Chrome,..), thiết bị sẽ mở nó bằng trình duyệt mặc định hoặc trình duyệt mà bạn ưu thích.
Ngoài ra ví dụ cũng bao gồm:
  • Gửi email
Chú ý: Hệ thống Android sẽ cố gắng tìm kiếm một ứng dụng tốt nhất của nó để gửi email. Trên thiết bị giả lập (emulator) có thể không có một ứng dụng gửi email đủ tốt.
Tạo mới Android project có tên "ImplicitIntentExample".
  • Name: ImplicitIntentExample
  • Package name: org.o7planning.implicitintentexample
Giao diện của ứng dụng:
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..."));
    }

}

Xem thêm các chuyên mục: