Ich benutze Google Drive API für Android. Dies ist der Code, den ich gerade habe.openFileActivityBuilder Absicht. Wie man darauf wartet, dass es eine Verbindung herstellt und wie man die Datei daraus bekommt
public void downloadFromDrive(){
mGoogleApiClient.connect();
IntentSender intentSender = Drive.DriveApi.newOpenFileActivityBuilder().setMimeType(new String[]{"text/plain"}).build(mGoogleApiClient);
try{
startIntentSenderForResult(intentSender,2,null,0,0,0);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
Log.w(TAG, "Unable to send intent", e);
}
}
Derzeit gibt es zwei Probleme mit ihm. Da es kein Ergebnis gibt, ruft mGoogleClient keine Verbindung mit mGoogleApiClient.connect() auf. Irgendwelche Ideen, wie man wartet, bis es tatsächlich verbunden ist? Die Verwendung von isConnected() oder onConnect() versetzt mich nur in eine Endlosschleife. Ich verbinde den API-Client gerade erst mit einer anderen Methode (derjenige, der Sachen hochlädt)
Wie bekomme ich einen FileStream aus dem IntentSender heraus? Ich habe Code zum Hochladen auf Google Drive, und ich musste meinen OutputStreamWriter nie in einer beliebigen Methode angeben. Ich habe gerade einen Output-Stream erstellt, den Intentsender genannt, und die GUI hat die Datei problemlos hochgeladen.
Verwenden Sie ['enableAutoManage (FragmentActivity, GoogleApiClient.OnConnectionFailedListener)]] (https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient.Builder#enableAutoManage (android.support.v4.app.FragmentActivity, com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener)) Dies ist der einfachste Weg, um die Verbindung zu verwalten, wie in der [Dokumentation] (https: // developers. google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient). – Teyam
Weitere Informationen finden Sie unter [Zugriff auf Google APIs] (https://developers.google.com/android/guides/api-client). – Teyam
@Teyam ja, das scheint das Problem gelöst zu haben. – Nephilim