Формат файла не поддерживается - Ошибка показа Когда я отправляю фотографию в WhatsApp и в Gmail шоу файл не прикреплен с помощью провайдера файлов и URI - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть приложение с общим изображением в 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.

...