9
votes

Share bitmap () sur Android sur Twitter, Facebook, Mail

Peut-être une question facile: je veux partager un bitmap que j'ai reçu sur le net sur Twitter / Facebook / etc avec l'action par défaut "Intention".

Le code que j'ai trouvé xxx

doit être rempli au point "idonthnow" avec le bitmap. (this.bitmap)

Je n'ai trouvé aucun moyen de gérer cela sans enregistrer le bitmap à sd interne ..

regarde


1 commentaires

Ce Q & A vaut la peine de lire Stackoverflow.com/Questtions/9049143/...


4 Réponses :


1
votes

Ok je l'ai eu le mien, il semble qu'il n'y a aucun moyen d'obtenir l'image URI sans enregistrer le bitmap sur le disque, donc j'utilise cette méthode simple:

    private Uri storeImage() {
    this.storedImage = null;
    this.storeImage = true;
    // Wait for the image
    while (this.storedImage == null && !this.stop)
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    this.storeImage = false;
    FileOutputStream fileOutputStream = null;
    File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
    File file = new File(path, "cwth_" + getCurrentTime()+ ".jpg");
    try {
        fileOutputStream = new FileOutputStream(file);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    BufferedOutputStream bos = new BufferedOutputStream(fileOutputStream);
    this.storedImage.compress(CompressFormat.JPEG, JPEG_STORE_QUALITY, bos);
    try {
        bos.flush();
        bos.close();
        fileOutputStream.flush();
        fileOutputStream.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return Uri.parse("file://" + file.getAbsolutePath());
}


0 commentaires

4
votes

Peut être un peu tard maintenant, mais vous pouvez également faire string url = images.media.insertimage (context.getcontentreSolver (), image, "titre", null); si vous n'avez pas ' ve sez comment il est stocké.


1 commentaires

Cette méthode crée une vignette pour l'image (en tant que documentation).



7
votes

Tout simplement, vous pouvez convertir un bitmap en PNG du stockage externe.

return Uri.parse("file://" + imageFile.getAbsolutePath());


1 commentaires

Chemin de chaîne = environnement.getexternalStoragePublicDirectory (Environnement.di Rectory_pictures);



-2
votes

Envoyer le contenu binaire Les données binaires sont partagées à l'aide de l'action Action_SEND combinée à la définition du type MIME approprié et de placer l'URI aux données dans un extra_stream supplémentaire. Ceci est couramment utilisé pour partager une image mais peut être utilisé pour partager tout type de contenu binaire: xxx

source http://developer.android.com/training/sharing/send.html


0 commentaires