2017-10-28 1 views
0

Ich versuche, einige Dateien in einer Zip-Datei zu sichern und sie mithilfe der Google Drive Android API (GDAA) auf Google Drive hochzuladen. Alles funktioniert gut, bis zu dem Teil, wo ich das CompletionEvent für den Upload erhalten soll. Das ist, was ich bisher haben ...Ich kann das OnCompletionEvent von Google Drive Android API für einen Upload nicht empfangen

ich ein DriveContents auf diese Weise erstellen:

Drive.DriveApi.newDriveContents(mGAPIClient) 
       .setResultCallback... 

Ich benutze Eingabe/Ausgabe-Streams eine Zip-Datei der Dateien erstellen ich hochladen möchten . Dann erstelle ich ein ExecutionOptions den Abschluss des Upload informiert zu werden Objekt zu fragen:

ExecutionOptions executionOptions = new ExecutionOptions.Builder() 
             .setNotifyOnCompletion(true) 
             .build(); 

Dann erstelle ich die Datei in Google Drive AppFolder diese Art und Weise (die DriveContents verwenden und die ExecutionOptions erstellt):

:
Drive.DriveApi.getAppFolder(mGAPIClient).createFile(mGAPIClient, metadataChangeSet, mDContents, executionOptions) 
             .setResultCallback... 

das ist mein DriveEventService Unterklasse, sollte es für die Aufnahme des CompletionEvent verantwortlich

... und es ist in meinem Manifest erklärt:

<service 
    android:name="com.example.android.QsApp.MeuDriveEventService" 
    android:exported="true"> 
    <intent-filter> 
     <action android:name="com.google.android.gms.drive.events.HANDLE_EVENT"/> 
    </intent-filter> 
</service> 

Die Zip-Datei ist wird lokal erstellt und erfolgreich hochgeladen (I mehrmals überprüft), ich weiß nur nicht Holen Sie das CompletionEvent zurück. Fehle ich eine Erlaubnis in meinem Manifest oder etwas? Was übersehe ich hier?

+0

Keine Logcat-Fehler? Der AppData-Ordner ist schwer zu untersuchen. Woher wissen Sie, dass die Datei an den Drive-Host weitergegeben wird? – Cheticamp

+0

Keine Fehler überhaupt. Ich kann: 1 - 'versteckte Daten löschen' im AppData-Ordner (über drive.google.com> Einstellungen> Apps verwalten), den Code ausführen, die Größe des AppData-Ordners überprüfen (erneut über drive.google.com) und vergleichen Sie diese Größe mit der generierten Zip-Datei in meinem Gerät, oder ... 2 - Laden Sie die Dateien im AppData-Ordner (programmgesteuert) auf mein Gerät und schauen Sie in diese Zip-Datei (ich habe das später). Ich dachte, ich hätte etwas offensichtlich übersehen (ich bin ein Anfänger). –

+0

So würde ich das überprüfen. Wenn Sie eine kleine App zusammenstellen können, die dieses Problem aufzeigt (ein [MCVE] (https://stackoverflow.com/help/mcve)), wäre ich bereit, genauer hinzusehen. Der von Ihnen gepostete Code sieht OK aus. – Cheticamp

Antwort

0

Noch einmal habe ich mich entschieden, das Projekt neu zu erstellen, starten Sie meine Geräte neu, erstellen Sie die Anmeldeinformationen auf console.developers.google.com, warten Sie 30 Minuten und geben Sie eine weitere Aufnahme. Diesmal hat es funktioniert (obwohl ich keine Ahnung habe warum).

Ich werde das hier lassen, falls jemand anderes dies erfährt. Nochmals, dank @Cheticamp für einen Anfänger wie mich.

Verwandte Themen