2016-04-06 5 views
0

Ich mache eine Art KYC single use App für ein ganz bestimmtes Geschäft. Es werden die Daten für jeden Benutzer einschließlich speichern:Android: Delay Daten senden, wenn das Gerät einen WIFI-Internetzugang hat

  • 2 Kamerabilder
  • Ein paar Informationen über den Benutzer

Und es offline arbeiten muss.

Wenn das Android-Gerät verbunden wird, und es 1 oder 2 Tage später sein kann, muss die App alle zuvor in der Pipe gespeicherten Daten senden.

  • Was ist die beste Lösung?
  • Muss ich die App ausführen, um die Daten zu senden, wenn ich eine WLAN-Verbindung habe?
  • Wie konnte ich verschlüsseln die Daten der Benutzer Daten aus der Öffentlichkeit zu verbergen (kein Foto sichtbar in der Galerie ...)

Antwort

0

Sie es GCMNetworkManager mit implementieren können. Diese API bietet sowohl periodische als auch einmalige Aufgaben zum Senden von Daten im Hintergrund. Sie können den Netzwerk-Task abhängig von bestimmten Bedingungen planen, z. B. wenn Sie mit WLAN (Ihrem Fall) verbunden sind, während des Ladevorgangs. So nach Ihrem Fall können Sie one-off Aufgabe schreiben, es zu erreichen:

public class MyTaskService extends GcmTaskService { 

@Override 
public int onRunTask(TaskParams taskParams) { 
    //some network oriented synchronous tasks. 
    return GcmNetworkManager.RESULT_SUCCESS; 
} 

Muss ich, um die App laufen, um zu senden:

OneoffTask task = new OneoffTask.Builder() 
    .setService(MyTaskService.class) 
    .setTag(TASK_TAG_WIFI) 
    .setExecutionWindow(0L, 3600L) 
    .setRequiredNetwork(Task.NETWORK_STATE_UNMETERED) 
    .build(); 

mGcmNetworkManager.schedule(task); 

Jetzt MyTaskService kann wie folgt implementiert werden die Daten wann ich eine WIFI-Verbindung habe?

Kein

Verwandte Themen