Я хочу сохранить изображение и поделиться им с текстом, и я использую
i.putExtra(Intent.EXTRA_TEXT, shareMessages);
i.putExtra(Intent.EXTRA_STREAM,path);
i.setType("image/*");
i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Сохранить изображение действительно работает!
, но результат: Share Failed!
на устройстве и
W/Bundle: Key android.intent.extra.STREAM expected Parcelable but value was a java.lang.String. The default value <null> was returned.
в logcat
может быть, вы можете помочь мне после просмотра полного кода ниже:
cardTotal.setDrawingCacheEnabled(true);
Bitmap b = cardTotal.getDrawingCache();
int random = new Random().nextInt((100000 - 100)+ 1) + 100000;
Long expense = getArguments().getLong("expense", 0);
Long income = getArguments().getLong("income", 0);
String shareMessages;
File root = Environment.getExternalStorageDirectory();
String path = root.toString() + "/" +textTitle.getText().toString()+random+ "mycarta.png";
if (!income.equals(0L)){
shareMessages = "Hey i get my income from" + textTitle.getText().toString() + "\n\n" + "Download MyCarta! Make your life easier, happier!";
}else {
shareMessages = "Hey i was doing " + textTitle.getText().toString() + "\n\n" + "Download MyCarta! Make your life easier, happier!";
}
try {
b.compress(Bitmap.CompressFormat.PNG, 95, new FileOutputStream(path));
System.out.println("SUCCESS============");
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("ERROR==============");
}
FileInputStream finalPath = new FileInputStream(new File(path));
finalPath.close();
Intent i = new Intent();
i.setAction(Intent.ACTION_SEND);
i.putExtra(Intent.EXTRA_TEXT, shareMessages);
i.putExtra(Intent.EXTRA_STREAM,path);
i.setType("image/*");
i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(i,"Share"));
}
Любая помощь или предложения будут признательны