2 Stimmen

Blue-Zahn Akte nicht gesendet Fehler

Ich versuche, eine Datei von meiner Anwendung auf dem Android-Telefon an andere Geräte zu senden (sie können oder können auch keine Android-Telefone sein).

Mein gesamter Code zum Senden der Datei lautet:

try{
            File dir = getCacheDir();
            File f;
            try {
                f = File.createTempFile("card", ".Xcard", dir);

                Intent i = new Intent();
                i.setAction(Intent.ACTION_SEND);
                i.setType("*/*");
                i.putExtra(i.EXTRA_STREAM, Uri.fromFile(f));
                startActivity(i);

            } catch (IOException e) {
                // TODO Auto-generated catch block
                Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();

                e.printStackTrace();
            }

            }catch(Exception e){

                Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
            }

Aber meine Datei wird nicht auf das Telefon gesendet?? Was stimmt nicht im Code? Liegt es daran, dass das Empfangstelefon meine ".Xcard"-Datei nicht erkennt?

Aber ich denke nicht, dass das das Problem ist, weil ich versucht habe, eine "APK"-Datei an das andere Gerät zu senden und es empfangen hat, obwohl es die APK-Datei nicht versteht (ich versuche es mit einem Nicht-Android-Telefon).

Warum wird die Datei, die ich sende, nicht gesendet? Liegt es daran, dass sie im Cache-Verzeichnis erstellt wurde?

0voto

Mikel Punkte 411

Dies hat für mich funktioniert:

String root = Environment.getExternalStorageDirectory().toString();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/html");
File f = new File(root + "/bluetooth/test2.html");
i.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(f));
startActivity(Intent.createChooser(i, "Seite senden"));

Der Unterschied besteht darin, die Datei im Bluetooth-Verzeichnis zu erstellen.

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