Redefinindo o POS
Você usa a operação de reset para limpar todos os dados do aplicativo, configurações e sessões ativas dentro do aplicativo Tap on Phone.
Você deve realizar um reset quando desejar mudar para um usuário ou lojista diferente. Você também pode usar um reset para forçar o aplicativo a atualizar sua configuração. Após um reset bem-sucedido, o aplicativo retorna para um estado None, e você deve inicializá-lo novamente antes de processar quaisquer novas transações.
Passo 1: Registrar um Broadcast Receiver
Assim como a solicitação de status, a operação de reset ocorre em segundo plano. Você deve registrar um BroadcastReceiver para saber quando o aplicativo Tap on Phone conclui o processo de reset.
Você pode escutar a ação de resposta padrão (com.dejamobile.cbp.sps.RESET_BROADCAST_RESPONSE) ou definir sua própria ação personalizada.
// Define your broadcast action (default or custom)
val resetResponseAction = "com.dejamobile.cbp.sps.RESET_BROADCAST_RESPONSE"
val receiver = object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
println("The Tap on Phone application has been successfully reset.")
// The POS is now in a "None" state. You must initialize it again.
// Unregister the receiver once handled
context?.unregisterReceiver(this)
}
}
// Register the receiver
val filter = IntentFilter(resetResponseAction)
registerReceiver(receiver, filter)O broadcast de resposta de reset não contém nenhum extra do intent. O recebimento do broadcast confirma que o processo de reset está concluído.
Passo 2: Enviar o Broadcast de Reset
Construa e envie o intent de broadcast para acionar o reset. Você deve direcionar à classe ResetBroadcastReceiver dentro do aplicativo Tap on Phone.
val intent = Intent().apply {
action = "com.dejamobile.cbp.sps.RESET_BROADCAST"
component = ComponentName(
"com.dejamobile.cbp.sps.app",
"com.dejamobile.cbp.sps.app.broadcast.ResetBroadcastReceiver"
)
addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES)
// Optional: Specify your custom response action
// putExtra("ResponseAction", resetResponseAction)
}
// Send the broadcast
sendBroadcast(intent)Próximos Passos
Após redefinir o POS, você não poderá realizar nenhuma transação até inicializar o aplicativo novamente com um usuário e lojista válidos.
- Consulte o Quick Start: Sua Primeira Inicialização para inicializar o aplicativo para o novo usuário.
- Aprenda como processar pagamentos em Processar uma Transação de Compra.