Giới thiệu
Hướng dẫn mở WhatsApp với nội dung tin nhắn được điền sẵn (pre-filled) bằng Intent.ACTION_SEND. Người dùng chỉ cần chọn người nhận và bấm gửi.
Yêu cầu
- WhatsApp đã cài đặt trên thiết bị.
- Quyền
INTERNET(đã có mặc định).
Các bước thực hiện
Bước 1: Giao diện (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:padding="24dp">
<EditText
android:id="@+id/etMessage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nội dung tin nhắn"
android:inputType="textMultiLine"
android:minHeight="120dp"
android:padding="12dp" />
<Button
android:id="@+id/btnSendWhatsApp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="Gửi qua WhatsApp" />
</LinearLayout>
Bước 2: MainActivity.java
package com.example.myapplication;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
EditText etMessage;
Button btnSend;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etMessage = findViewById(R.id.etMessage);
btnSend = findViewById(R.id.btnSendWhatsApp);
btnSend.setOnClickListener(v -> sendWhatsAppMessage());
}
private void sendWhatsAppMessage() {
String message = etMessage.getText().toString().trim();
if (message.isEmpty()) {
Toast.makeText(this, "Vui lòng nhập tin nhắn", Toast.LENGTH_SHORT).show();
return;
}
// Kiểm tra WhatsApp đã cài chưa
if (!isWhatsAppInstalled()) {
Toast.makeText(this, "WhatsApp chưa được cài đặt", Toast.LENGTH_LONG).show();
openPlayStore("com.whatsapp");
return;
}
// Tạo Intent gửi tin nhắn
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.setPackage("com.whatsapp"); // Chỉ mở WhatsApp, không hiện chooser
intent.putExtra(Intent.EXTRA_TEXT, message);
try {
startActivity(intent);
} catch (Exception e) {
Toast.makeText(this, "Lỗi mở WhatsApp: " + e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
private boolean isWhatsAppInstalled() {
PackageManager pm = getPackageManager();
try {
pm.getPackageInfo("com.whatsapp", PackageManager.GET_ACTIVITIES);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
private void openPlayStore(String packageName) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + packageName));
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
}
Chạy ứng dụng
- Nhấn Run → nhập tin nhắn → nhấn "Gửi qua WhatsApp".
- WhatsApp mở ra → chọn người nhận (hoặc nhóm) → bấm gửi.


Mở rộng: Gửi đến số điện thoại cụ thể (Click to Chat)
WhatsApp hỗ trợ liên kết wa.me để mở chat trực tiếp với số điện thoại:
// Số điện thoại định dạng quốc tế (không có +, không có 0 đầu) String phone = "84901234567"; // VN: +84 90 123 4567 String url = "https://wa.me/" + phone + "?text=" + Uri.encode(message); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent);
Cách này không cần setPackage, mở được trên trình duyệt hoặc app WhatsApp.
Gửi media (hình ảnh, video, file)
// Gửi hình ảnh
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/*");
intent.setPackage("com.whatsapp");
intent.putExtra(Intent.EXTRA_STREAM, imageUri); // Uri của file ảnh
startActivity(intent);
Lưu ý
- WhatsApp Business: package name là
com.whatsapp.w4b. - Intent chooser: Bỏ
setPackage()để người dùng chọn app chia sẻ (WhatsApp, Messenger, Email...). - Độ dài tin nhắn: WhatsApp giới hạn ~4096 ký tự.