Giới thiệu
Hướng dẫn này minh họa cách thêm một liên hệ (contact) mới vào danh bạ Android từ ứng dụng của bạn bằng cách sử dụng ContactsContract.Intents.Insert.
Các bước thực hiện
Bước 1: Tạo dự án mới
Mở Android Studio, chọn File → New Project và điền thông tin cần thiết.
Bước 2: Thiết kế 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"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="16dp"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:id="@+id/etContactName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Tên liên hệ"
android:inputType="text" />
<EditText
android:id="@+id/etContactNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Số điện thoại"
android:inputType="number" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="addContact"
android:text="THÊM" />
</LinearLayout>
Bước 3: Viết code MainActivity
package app.tutorialspoint.com.sample;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.provider.ContactsContract;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void addContact(View view) {
EditText etContactName = findViewById(R.id.etContactName);
EditText etContactNumber = findViewById(R.id.etContactNumber);
String name = etContactName.getText().toString();
String phone = etContactNumber.getText().toString();
Intent contactIntent = new Intent(ContactsContract.Intents.Insert.ACTION);
contactIntent.setType(ContactsContract.RawContacts.CONTENT_TYPE);
contactIntent
.putExtra(ContactsContract.Intents.Insert.NAME, name)
.putExtra(ContactsContract.Intents.Insert.PHONE, phone);
startActivityForResult(contactIntent, 1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (requestCode == 1) {
if (resultCode == Activity.RESULT_OK) {
Toast.makeText(this, "Đã thêm liên hệ", Toast.LENGTH_SHORT).show();
}
if (resultCode == Activity.RESULT_CANCELED) {
Toast.makeText(this, "Đã hủy thêm liên hệ", Toast.LENGTH_SHORT).show();
}
}
}
}
Bước 4: Cấu hình AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="app.tutorialspoint.com.sample">
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Chạy ứng dụng
Kết nối thiết bị Android thật, chạy ứng dụng từ Android Studio. Nhập tên và số điện thoại, nhấn "THÊM" để mở màn hình thêm liên hệ của hệ thống.
