3 Stimmen

Android beabsichtigt, Text/Plain-Daten an Google Drive weiterzugeben

Ich habe eine einfache Notizblock-Anwendung erstellt, die die Freigabeabsicht ACTION_SEND implementiert, um Notizen weiterzugeben.

Meine Daten haben den Mime-Typ "text/plain" und Google Drive (früher Google Docs) wird auf meinem Gerät als Option angeboten. Wenn ich Google Drive auswähle, erhalte ich die Fehlermeldung "Dieses Element kann nicht als Google-Dokument hochgeladen werden" über eine Toast-Meldung.

Ich erstelle meine Aktienabsichten auf diese Weise:

Intent share_intent = new Intent(android.content.Intent.ACTION_SEND);

share_intent.setType("text/plain");
share_intent.putExtra(android.content.Intent.EXTRA_SUBJECT, name);
share_intent.putExtra(android.content.Intent.EXTRA_TEXT, content);

startActivity(share_intent);

Anwendungen wie Mail, Messaging, Twitter und Wordpress scheinen alle gut mit der Absicht umzugehen und teilen zumindest den EXTRA_TEXT-Inhalt.

Ich frage mich, ob es einen Weg gibt, der es Google Drive ermöglicht, die Notiz erfolgreich hochzuladen, oder zumindest die Absicht besser zu handhaben?

Ich bin neu in Android, also bitte verzeihen Sie mir meine Dummheit, wenn sich dies als eine dumme Frage herausstellt. Ich entwickle gegen ein Minimum SDK Version 15, wenn das überhaupt hilft.

Hier ist ein Bildschirmausschnitt der Fehlermeldung: Screen shot showing error message

In LogCat habe ich die Fehlermeldung erneut entdeckt:

05-13 23:31:46.906: E/UploadSharedItemActivity(14594): This item cannot be uploaded as Google Document.

Es gibt auch eine Warnung, die vor der Fehlermeldung erscheint:

05-13 23:31:46.250: W/ND(14594): Could not load Finalizer in its own class loader. Loading Finalizer in the current class loader instead. As a result, you will not be able to garbage collect this class loader. To support reclaiming this class loader, either resolve the underlying issue, or move Google Collections to your system class path.
05-13 23:31:46.250: W/ND(14594): java.io.FileNotFoundException: com/google/inject/internal/Finalizer.class
05-13 23:31:46.250: W/ND(14594):    at NE.a(FinalizableReferenceQueue.java:269)
05-13 23:31:46.250: W/ND(14594):    at NE.a(FinalizableReferenceQueue.java:253)

Ich weiß nicht, ob das etwas damit zu tun haben könnte oder nicht.

Ich kann den ganzen LogCat hier abladen, wenn es hilft.

10voto

Etienne Punkte 116

Sie können keinen Text für Google-Dokumente freigeben, aber Sie können eine Datei (Textdatei oder andere) freigeben. Speichern Sie also einfach Ihren Text in einer Datei innerhalb Ihrer Anwendung und geben Sie diese Datei mit dem Intent frei:

    Intent intent = new Intent(android.content.Intent.ACTION_SEND);
    intent.setType("text/plain");
    intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + your_file_path));
    startActivity(Intent.createChooser(intent, ""));

0voto

0x00h Punkte 740

Ja, es sieht so aus, als ob dies ein Fehler in Google Drive ist. Ich hätte in anderen Anwendungen gründlicher nachsehen sollen, bevor ich hier frage.

Ich habe es über die Funktion "Feedback senden" der App gemeldet. Hoffentlich behebt jemand in der Google-Softwarefabrik das Problem in Zukunft.

0voto

Suraj Sahani Punkte 15
   val sendIntent = Intent(Intent.ACTION_VIEW)
    sendIntent.type = "application/pdf"
    sendIntent.action = Intent.ACTION_SEND
    sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://$filePath"))
    sendIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
    startActivity(Intent.createChooser(sendIntent, "Share Whatever you want..."))

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X