Hızlı Ayarlar, Hızlı Ayarlar panelinde görüntülenen kutulardır. Kullanıcılar bu kutulara dokunarak yinelenen görevleri hızlıca tamamlayabilir. Bu dokümanda, QR Kodu ödemeleri için özel Hızlı Ayarlar kutusunun nasıl oluşturulacağı gösterilmektedir.
Devam etmeden önce, uygulamanız için özel Hızlı Ayarlar blokları oluşturma ile ilgili genel talimatlar ve en iyi uygulamalar hakkında bilgi sahibi olduğunuzdan emin olun.
Kartınızı oluşturmak için şu adımları uygulayın:
- Özel simgenizi oluşturun.
QR koduyla ödeme işlemini başlatmak için
onClick()
yöntemini doldurun. Bir karoya uzun süre dokunulduğunda, kullanıcının Uygulama Bilgileri ekranı görüntülenir. Bu davranışı geçersiz kılmak ve bunun yerine tercihleri ayarlamaya yönelik bir etkinlik başlatmak içinACTION_QS_TILE_PREFERENCES
ile gerçekleştirdiğiniz etkinliklerinizden birine<intent-filter>
ekleyin.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); } }
Kullanıcıların hassas ödeme bilgilerini korumak için güvenli bir şekilde kilitlenen cihazlarda yalnızca güvenli işlemler gerçekleştirin.
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); } }); } ... }
Bu özelliği ilk kez kullanıma sunarken kullanıcıdan karonuzu eklemesini isteyin.