ภาพรวม
บทความนี้สาธิตวิธีดึงขนาด Thumbnail (ภาพย่อ) ของ Task ใน Recent Apps ผ่าน ActivityManager.getAppTaskThumbnailSize()
ขั้นตอนที่ 1: สร้างโปรเจกต์
Android Studio → File → New Project → Empty Activity
ขั้นตอนที่ 2: Layout (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="https://schemas.android.com/apk/res-auto"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:context=".MainActivity">
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="24sp"
android:gravity="center"
android:padding="16dp" />
</LinearLayout>
ขั้นตอนที่ 3: โค้ดหลัก (java/MainActivity.java)
package com.example.myapplication;
import android.app.ActivityManager;
import android.content.Context;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.text);
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
// ขนาด Thumbnail ของ Task (Recent Apps)
int thumbnailWidth = activityManager.getAppTaskThumbnailSize();
int thumbnailHeight = activityManager.getAppTaskThumbnailSize(); // กว้าง x สูง เท่ากัน
// ขนาด Icon ขนาดใหญ่ของ Launcher
int launcherIconSize = activityManager.getLauncherLargeIconSize();
String info = String.format(
"Task Thumbnail Size: %d x %d px\n" +
"Launcher Large Icon Size: %d x %d px",
thumbnailWidth, thumbnailHeight,
launcherIconSize, launcherIconSize
);
textView.setText(info);
}
}
คำอธิบาย
getAppTaskThumbnailSize()- คืนค่าขนาด (width=height) ของ thumbnail ใน Recent Apps screen (หน่วยเป็น pixel)getLauncherLargeIconSize()- คืนค่าขนาดไอคอนขนาดใหญ่สำหรับ Launcher- ค่าเหล่านี้ขึ้นอยู่กับ Device และ Launcher ที่ใช้
การใช้งานจริง
- สร้าง Bitmap ขนาดพอดีสำหรับ
ActivityManager.TaskDescription - Custom Recent Apps thumbnail
- Pinned task icon
ตัวอย่างตั้งค่า Task Description
Bitmap thumbnail = Bitmap.createBitmap(thumbnailWidth, thumbnailHeight, Bitmap.Config.ARGB_8888);
// วาดเนื้อหา thumbnail ที่นี่...
ActivityManager.TaskDescription taskDescription = new ActivityManager.TaskDescription(
"Task Label",
thumbnail,
null // หรือใส่ icon
);
setTaskDescription(taskDescription);
ทดสอบ
รันแอป จะแสดงขนาด Thumbnail และ Launcher Icon Size ในพิกเซล (เช่น 172x172, 192x192)