การตั้งค่าด่วนคือการ์ดที่แสดงในแผงการตั้งค่าด่วน ผู้ใช้สามารถแตะการ์ดเหล่านี้เพื่อทำงานที่เกิดซ้ำให้เสร็จได้อย่างรวดเร็ว เอกสารนี้จะแสดงวิธีสร้างการ์ดการตั้งค่าด่วนที่กำหนดเองสำหรับคิวอาร์โค้ด
ก่อนดำเนินการต่อ โปรดทำความคุ้นเคยกับคำแนะนำทั่วไปและ แนวทางปฏิบัติในการสร้างการ์ดการตั้งค่าด่วนที่กำหนดเองสำหรับแอป
หากต้องการสร้างการ์ด ให้ทำตามขั้นตอนต่อไปนี้
- สร้างไอคอนที่กำหนดเอง
หากต้องการเปิดการชำระเงินผ่านคิวอาร์โค้ด ให้กรอกวิธีการ
onClick()
การแตะค้าง การ์ดจะแสดงหน้าจอข้อมูลแอปสำหรับผู้ใช้ หากต้องการลบล้างลักษณะการทำงานนี้ และเริ่มกิจกรรมสำหรับการตั้งค่ากำหนด แทนให้เพิ่ม<intent-filter>
ไปยังหนึ่งในกิจกรรมของคุณกับACTION_QS_TILE_PREFERENCES
Kotlin
import android.service.quicksettings.TileService // Called when the user taps on your tile in an active or inactive state. override fun onClick() { // Create Intent, replace MainActivity::class.java with QR Code Activity val intent = Intent(this, MainActivity::class.java) // Create PendingIntent val pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE) if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { startActivityAndCollapse(pendingIntent) } else { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) startActivityAndCollapse(intent) } }
Java
import android.service.quicksettings.TileService; // Called when the user taps on your tile in an active or inactive state. @Override public void onClick() { // Create Intent, replace MainActivity.class with QR Code Activity Intent intent = new Intent(MyQSTileService.this, MainActivity.class); // Create PendingIntent PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE); if (VERSION.SDK_INT >= VERSION_CODES.UPSIDE_DOWN_CAKE) { startActivityAndCollapse(pendingIntent); } else { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivityAndCollapse(intent); } }
เพื่อปกป้องผู้ใช้ ข้อมูลการชำระเงินที่มีความละเอียดอ่อน ดำเนินการเพื่อความปลอดภัยเท่านั้น ในอุปกรณ์ที่ล็อกอย่างปลอดภัย
Kotlin
import android.service.quicksettings.TileService override fun onClick() { val intent = Intent(this, MainActivity::class.java) val pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE) // ... if (isSecure()) { startActivityAndCollapse(pendingIntent) } else { unlockAndRun { startActivityAndCollapse(pendingIntent) } } // ... }
Java
import android.service.quicksettings.TileService; @Override public void onClick() { Intent intent = new Intent(MyQSTileService.this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE); ... if (isSecure()) { startActivityAndCollapse(pendingIntent); } else { unlockAndRun(new Runnable() { @Override public void run() { startActivityAndCollapse(pendingIntent); } }); } ... }
ในครั้งแรกที่คุณแนะนำฟีเจอร์นี้ บอกให้ผู้ใช้เพิ่ม การ์ด