У меня есть приложение с общим изображением в Android.Но теперь я получаю следующую ошибку
"Формат файла не поддерживается."
public class mm3 extends AppCompatActivity implements View.OnClickListener {
private String share_image3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mm3);
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
Button share3 = findViewById(R.id.share_button3);
share3.setOnClickListener(this);
share_image3 = createImageOnSDCard(R.drawable.m3);
}
private String createImageOnSDCard(int resID) {
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), resID);
String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/" + resID + ".png";
File file = new File(path);
try {
OutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
return file.getPath();
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.back_button3:
onback_button3();
break;
case R.id.next_button3:
onnext_button3();
break;
case R.id.share_button3:
onshare_button3();
break;
}
}
private void onshare_button3() {
Uri path = FileProvider.getUriForFile(this, "com.example.myapp", new File(share_image3));
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("image/*");
shareIntent.putExtra(Intent.EXTRA_TEXT, "This is one image I'm sharing.");
shareIntent.putExtra(Intent.EXTRA_STREAM, path);
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
//shareIntent.setType("image/*");
startActivity(Intent.createChooser(shareIntent, "Share..."));
}
}
, пожалуйста, помогите, как избавиться с этой ошибкой.Эта работа, когда я использую только для обмена текстом, есть ли какой-либо метод работы для обмена изображения без использования fileprovider.