'הגדרות מהירות' הן משבצות שמוצגות בחלונית 'הגדרות מהירות'. המשתמשים יכולים להקיש על המשבצות האלה כדי להשלים במהירות משימות חוזרות. במסמך הזה מוסבר איך ליצור לחצן 'הגדרות מהירות' בהתאמה אישית לקוד QR תשלומים.
לפני שממשיכים, כדאי לוודא שאתם מכירים את ההוראות הכלליות ושהם יודעים הכי טוב שיטות ליצירת כרטיסי מידע מותאמים אישית בהגדרות המהירות לאפליקציה.
כדי ליצור כרטיס מידע, פועלים לפי השלבים הבאים:
- יוצרים סמל מותאם אישית.
יצירה של
TileService
והצהרה עליו.כדי להפעיל את התשלום באמצעות קוד QR, צריך למלא את אמצעי התשלום
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); } }); } ... }
בהפעלה הראשונה של התכונה הזו, יש לבקש מהמשתמש להוסיף משבצת.