2013-08-01 16 views
5
Intent share = new Intent(Intent.ACTION_SEND); 
share.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://" + ContextID.getPackageName() + "/" + ResourceID)); 
share.setType("audio/*"); 
ContextID.startActivity(Intent.createChooser(share, "Condividi il suono")); 

Powyższy kod działa poprawnie z Gmailem, a Whatsapp daje wiadomość tosty jak „Udostępnianie pliku nie powiodło się, spróbuj ponownie”Podziel zasób surowy poprzez WhatsApp

Maybe Mam ten sam problem z tym facet: Intent.ACTION_SEND Whatsapp

Ale jak mogę tymczasowo skopiować moje zasoby na kartę SD, a następnie udostępnić je?

Odpowiedz

7
File dest = Environment.getExternalStorageDirectory(); 
InputStream in = ContextID.getResources().openRawResource(ResourceID);    

try 
{ 
    OutputStream out = new FileOutputStream(new File(dest, "lastshared.mp3")); 
    byte[] buf = new byte[1024]; 
    int len; 
    while ((len = in.read(buf, 0, buf.length)) != -1) 
    { 
     out.write(buf, 0, len); 
    } 
    in.close(); 
    out.close(); 
} 
catch (Exception e) {}    

Intent share = new Intent(Intent.ACTION_SEND); 
share.putExtra(Intent.EXTRA_STREAM, Uri.parse(Environment.getExternalStorageDirectory().toString() + "/lastshared.mp3")); 
share.setType("audio/*"); 
ContextID.startActivity(Intent.createChooser(share, "Condividi il suono \"" + TheButton.getText() + "\"")); 
return true; 

oczywisty:

<manifest ...> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 
    ... 
</manifest> 
+1

Witam Używam twojego kodu, aby wysłać plik 'mp3' przez WhatsApp, ale pojawia się błąd podobny do' Nie udało się wysłać, spróbuj ponownie. " Czy wiesz, jak przezwyciężyć to? Z góry dziękuję –

+0

jego działanie .. .Jeśli spróbujesz udostępnić bezpośrednio z zasobów, WhatsApp nie pozwoli ci. –

+0

Grazie Mille !! dobrze zrobione;) – Manza

0

należy zmienić ten wiersz z kodu i będzie można podzielić zapisu ("audio/mp3") jak miech zamiast ("audio/*")

share.setType("audio/mp3"); 

to dlatego Rodzaj akcji dla WhatsApp nie obsługuje ("audio/*") ani ("*/*")