Обмен изображениями в android 10, мне нужно перейти на хранилище с ограниченным доступом - PullRequest
3 голосов
/ 01 августа 2020

У меня проблема с совместным использованием изображений в android 10. Я получаю эту ошибку:

java .lang.SecurityException: Permission Denial: чтение androidx.core.content.FileProvider uri content: //com.my.app.provider/external_files/Downloads/96732_9f726aea1ca9566cb0ab4846a8e1bcd8.jpg из pid = 13435, uid = 1000 требует экспорта поставщика, или grantUriPermission ()

* I 1006 * Проблема в том, что должен перейти в хранилище с ограниченным объемом, но я не знаю как. Я начинающий. это мой код:
public class ShareTask extends AsyncTask <String, String, String> {
    String path;
    File file;
    private Context context;
    private ProgressDialog pDialog;

    public ShareTask(Context context) {
        this.context = context;
    }

    @Override
    protected void onPreExecute() {
        // TODO Auto-generated method stub

        super.onPreExecute ();

        pDialog = new ProgressDialog (context);
        pDialog.setMessage ("Downloading ...");
        pDialog.setIndeterminate (false);
        pDialog.setCancelable (false);
        pDialog.show ();

    }

    @Override
    protected String doInBackground(String... args) {
        // TODO Auto-generated method stub
        path = args[0];
        String idStr = path.substring (path.lastIndexOf ('/') + 1);
        File filepath = Environment.getExternalStorageDirectory ();
        File dir = new File (filepath.getAbsolutePath () + "/Downloads/");
        dir.mkdirs ();
        String fileName = idStr;
        file = new File (dir, fileName);
        Ion.with (getApplicationContext ()).load (path)
                .write (file);
        return null;
    }

    @Override
    protected void onPostExecute(String args) {
        // TODO Auto-generated method stub

        Intent share = new Intent (Intent.ACTION_SEND);
        share.setType ("image/gif");
        share.putExtra (Intent.EXTRA_STREAM, FileProvider.getUriForFile (SlideImageActivity.this, BuildConfig.APPLICATION_ID + ".provider", file));

        // SHARE URL
        startActivity (Intent.createChooser (share, "Share the photo"));
        pDialog.dismiss ();
    }
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...