Teilen png in drawable-Ordner
Ich bin die Integration von teilen mit den folgenden code für die app.
private void socialShare()
{
Uri uri = Uri.parse("android.resource://com.example.myproject/drawable/appicon");
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
shareIntent.putExtra(Intent.EXTRA_TEXT, "sharing myapp");
shareIntent.setType("image/jpeg");
startActivity(Intent.createChooser(shareIntent, "Share from"));
}
Wie im obigen code, ich versuchte png image
die in den drawable Ordner. Das Bild ist aber nicht gesendet werden. Ist das, weil in setType, es ist image/jpeg? Ich kann nicht mit jpeg, da es verliert an Transparenz. Kann jemand bitte empfehlen Sie mir, wie zu teilen, mit Bild?
Hier ist der code, den ich verwenden, um das Bild zu kopieren aus dem drawable zu sdcard:
String commonPath = Environment.getExternalStorageDirectory().toString() + "/MyAppFolder";
File direct = new File(commonPath);
if(!direct.exists())
{
if(direct.mkdir())
{
Log.d("tag","directory created");
//directory is created;
}
}
Bitmap bm = BitmapFactory.decodeResource( getResources(), R.drawable.sharingimage);
OutputStream outStream = null;
File savingFile = new File(commonPath, "shareImage.png");
if(!savingFile.exists())
{
Log.d("tag","file is created");
try {
savingFile.createNewFile();
outStream = new FileOutputStream(savingFile);
bm.compress(Bitmap.CompressFormat.PNG, 100, outStream);
outStream.flush();
outStream.close();
Log.d("tag","Saved");
} catch (FileNotFoundException e) {
//TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich die Lösung, wo ich nicht sollte Sie " Bild kopieren auf sd-Karte. Hier ist es:
Dies funktioniert für mich perfekt, und diese benötigen eine Schreibberechtigung
Fügen Sie folgende Zeile zu android manifest für die Berechtigung schreiben.
Sie teilen können mithilfe der folgenden Methode...
Ausprobiert und getestet...für mich arbeiten
Ersten add-Berechtigung
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Bitmap von res
Getestet via bluetooth.
Funktioniert wie ein Charme.
Können Sie nicht direkt teilen
uri
aus Sie apps, die internen Speicher (natürlich die resourses der app wird immer in den internen Speicher)Es gibt zwei Möglichkeiten, dies zu erreichen..
Kopieren Sie Ihre Bild auf externe Speichermedien, dann teilen Sie es von dort. Sehen diese
Schreiben Sie eine Content-Anbieter zu Bild weitergeben. Für die, die sich Erstellen und Teilen Sie eine Datei aus dem Internen Speicher