Danh sách những Intent Implicit thường xuyên được sử dụng

Giới thiệu
Trong hệ điều hành Android có những Activity mà mọi app có thể sử dụng ví dụ như mở trình duyệt, call phone, sending email, google play store. Vậy các mở và thao tác với những activity này như thế nào thì bài viết hôm nay mình sẽ cùng các bạn tìm hiểm.

Intent Explicit và Intent Implicit

Trước khi đi vào sử dụng những Implicit mình sẽ phân biệt cho các biệt Intent Explicit và Intent Implicit khác nhau như thế nào.

Intent Explicit

Intent Explicit hay dịch ra là Intent tường minh và nó như thế nào nhỉ. Các bạn còn nhớ khi chúng ta sử muốn chuyển từ activity này sang activity thông qua phương thức startActivity và khởi tạo đối tượng intent như sau:

Intent intent = new Intent(MainActivity.this, AboutActivity.class);

Các bạn thấy rằng chúng ta phải truyền vào hai activity là activity hiện tại và activity bạn muốn chuyển qua. Thì đó chính là Intent Explicit.

Intent Implicit

Intent Implicit (Intent không tường minh) cũng giống như Intend Emplicit nhưng Intent Implicit không cần phải chỉ định rõ ràng những activity mà bạn chỉ cần truyền vào một biến cờ tương ứng với những activity mà bạn sử dụng. Ví dụ như

Intent callIntent = new Intent(Intent.ACTION_CALL);

 

Trong bài viết này mình sẽ hướng dẫn nhưng Intent Implicit thường xuyên sử dụng trong app ví dụ như intent callphone, send video, share content, open brower, google store play.

Intent Implicit thường xuyên sử dụng

Phone Call

Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse(“tel:0377778888”));
if (callIntent.resolveActivity(getPackageManager()) != null) {
startActivity(callIntent);
}

Send Email

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType(“plain/text”);
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { “some@email.address” });
intent.putExtra(Intent.EXTRA_SUBJECT, “subject”);
intent.putExtra(Intent.EXTRA_TEXT, “mail body”);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(Intent.createChooser(intent, “”));
}

 

Send Gmail

String uriText =
“mailto:youremail@gmail.com” +
“?subject=” + Uri.encode(“some subject text here”) +
“&body=” + Uri.encode(“some text here”);
Uri uri = Uri.parse(uriText);

Intent sendIntent = new Intent(Intent.ACTION_SENDTO);
sendIntent.setData(uri);
if (sendIntent.resolveActivity(getPackageManager()) != null) {
startActivity(Intent.createChooser(sendIntent, “Send email”));
}

 

Launch Website

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(“http://androidcoban.com/"));
if (browserIntent.resolveActivity(getPackageManager()) != null) {
startActivity(browserIntent);
}

 

Open Google Play Store

Intent intent = new Intent(Intent.ACTION_VIEW,

Uri.parse(“market://details?id=” + context.getPackageName()));

if (intent.resolveActivity(getPackageManager()) != null) {

startActivity(intent);

}

Compose SMS

Uri smsUri = Uri.parse(“tel:” + to);
Intent intent = new Intent(Intent.ACTION_VIEW, smsUri);
intent.putExtra(“address”, to);
intent.putExtra(“sms_body”, message);
intent.setType(“vnd.android-dir/mms-sms”);//here setType will set the previous data null.
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}

Google Maps

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
String data = String.format(“geo:%s,%s”, latitude, longitude);
if (zoomLevel != null) {
data = String.format(“%s?z=%s”, data, zoomLevel);
}
intent.setData(Uri.parse(data));
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}

Capture Photo

Uri uri = Uri.fromFile(new File(file));
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}

Sharing Content

Hình ảnh hoặc các dữ liệu nhị phân

Intent sharingIntent = new Intent(Intent.ACTION_SEND);

sharingIntent.setType(“image/jpg”);

Uri uri = Uri.fromFile(new File(getFilesDir(), “foo.jpg”));

sharingIntent.putExtra(Intent.EXTRA_STREAM, uri.toString());

if (sharingIntent.resolveActivity(getPackageManager()) != null) {

startActivity(Intent.createChooser(sharingIntent, “Share image using”));

}

 

Share HTML

Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType(“text/html”);
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(“<p>This is the text shared.</p>”));
if (sharingIntent.resolveActivity(getPackageManager()) != null) {
startActivity(Intent.createChooser(sharingIntent,“Share using”));
}

 

Nguyễn Linh

Chia sẻ để cùng tiến bộ...

Bình luận đã bị khoá.