2010-08-24 24 views

cevap

105

Bu aslında Intents ile yapılır.

Intent share = new Intent(Intent.ACTION_SEND); 
share.setType("image/jpeg"); 

share.putExtra(Intent.EXTRA_STREAM, 
    Uri.parse("file:///sdcard/DCIM/Camera/myPic.jpg")); 

startActivity(Intent.createChooser(share, "Share Image")); 

metni için gibi bir şey kullanırsınız:: ile

Intent share = new Intent(Intent.ACTION_SEND); 
share.setType("text/plain"); 
share.putExtra(Intent.EXTRA_TEXT, "I'm being sent!!"); 
startActivity(Intent.createChooser(share, "Share Text")); 
+6

http url: share.putExtra (Intent.EXTRA_STREAM, Uri.parse ("http://helios.gsfc.nasa.gov/image_mag_stamp.jpg")) ile işaretlenen görüntüyü paylaşmak mümkün mü? ? Bunu çalışamıyorum. – sinek

+1

İkincisi Messaging uygulaması ile çalışmıyor. –

+0

@Second Metin sürümü, emülatörden daha fazla seçenek gösteriyor mu? Önerdiğin şeyi denedim ve hemen dahili sms uygulamasına geçiyor. Soruda sözü edilen resim gibi daha açık bir şey görmeyi tercih ederim. – thegrinner

4

Evet. MIME Type image/jpeg nesnelerini (sözgelimi, JPEG görüntülerini paylaşmayı desteklemek istiyorsanız) ve muhtemelen ACTION_SEND eylemini gerçekleştiren nesnelerle başa çıkabilecek bir amaç filtresiyle bir Etkinlik sağlamanız gerekir.

Yerleşik Android uygulamalarının çoğu açık kaynak kodludur; hangi amaç filtrelerini kullandığını görmek için Mesajlaşma uygulamasının bildirim dosyasını kontrol edebilirsiniz.

+0

Aslında, tüm yerleşik Android uygulamalarının yalnızca işletim sistemi açık kaynak olduğuna inanmıyorum. –

+2

Kesinlikle Google hizmetlerini kullananlar değil (Gmail, Haritalar, vb.) - Emülatörle gelen daha temel olanlara atıfta bulunuyordum. Tekrar ifade edeceğim. – EboMike

6

ben olmamdı sorunların

örnek resimde olduğu gibi bir görüntü paylaşımı için, böyle bir şey olurdu kabul edilen cevap.

Uri.fromFile(new File(filePath)); 

yerine Sadece vaka kimse aynı sorunu yaşıyor içinde

Uri.parse(filePath) 

ait: me gibi, o dosyanın URI ayrıştırma, yolundan bir dosya yaratıyordu için neler çalıştı.

+3

Çözümünüz, benim kabul edileni değil de sorunumu çözdü. Kabul edilen cevabın neden işe yaramadığını biliyor musunuz? – RestInPeace

+1

@RestInPeace muhtemelen dosyanızın dosya sisteminde bulunduğu yere bağlıdır. Örnekte, yolunuz aynı formatta değilse, URI.parse'yi kullanarak dosya: /// ... gibi bir dize verdiler. – DiscDev

+0

Aslında benim için 'Uri.parse (filePath) 'bazı uygulamalarda çalıştı (örneğin Whatsapp paylaşımı ve Dropbox), ancak Instagram, Gmail ve Facebook ile başarısız oldu. 'Uri.fromFile (yeni Dosya (dosyaYol))' Gmail dışında, hala başarısız olan ancak e-postayı oluşturmaya başladığım bir çekicilik gibi çalışır ve dosyanın doğru bir şekilde eklendiğini görebiliyorum. – Olaia