2014-06-11 7 views
5

Pensiamo a un caso in cui l'utente ha installato più applicazioni in grado di eseguire pagamenti HCE NFC. Questi servizi applicativi sono visibili nelle impostazioni NFC Tap and Pay.Impostare il servizio di pagamento predefinito dell'applicazione

Come modificare a livello di codice l'applicazione in modo che sia il servizio di pagamento predefinito, in caso contrario?

CardEmulation sembra avere solo API per interrogare se il servizio per categoria è predefinito.

Grazie.

risposta

9

L'idea principale di avere quell'interfaccia utente è che l'utente può decidere su quale app di pagamento dovrebbe essere l'app predefinita. Di conseguenza, c'è no modo a a livello di programmazione impostare l'app come predefinita.

Tuttavia, è possibile richiedere all'utente di impostare la vostra applicazione come applicazione di default per la categoria di pagamento (vedi ACTION_CHANGE_DEFAULT):

Intent intent = new Intent(); 
intent.setAction(CardEmulation.ACTION_CHANGE_DEFAULT); 
intent.putExtra(CardEmulation.EXTRA_SERVICE_COMPONENT, 
       new ComponentName(this, my.package.MyPaymentService.class)); 
intent.putExtra(CardEmulation.EXTRA_CATEGORY, CardEmulation.CATEGORY_PAYMENT); 

startActivity(intent);