• 16-09-2019, 11:34:26
    #1
    Merhaba aşağıda belirtiğim hatayı alıyorum, sorun nedir acaba bana bilgi verebilirmisiniz?

    Fatal Exception: android.os.FileUriExposedException: file:///storage/emulated/0/Camera/crbthtjtjtj.png exposed beyond app through ClipData.Item.getUri()
    at android.os.StrictMode.onFileUriExposed + 1996(StrictMode.java:1996)
    at android.net.Uri.checkFileUriExposed + 2378(Uri.java:2378)
    at android.content.ClipData.prepareToLeaveProcess + 963(ClipData.java:963)
    at android.content.Intent.prepareToLeaveProcess + 10440(Intent.java:10440)
    at android.content.Intent.prepareToLeaveProcess + 10446(Intent.java:10446)
    at android.content.Intent.prepareToLeaveProcess + 10425(Intent.java:10425)
    at android.app.Instrumentation.execStartActivity + 1744(Instrumentation.java:1744)
    at android.app.Activity.startActivityForResult + 4803(Activity.java:4803)
    at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult + 54(BaseFragmentActivityApi16.java:54)
    at android.support.v4.app.FragmentActivity.startActivityForResult + 67(FragmentActivity.java:67)
    at android.app.Activity.startActivityForResult + 4743(Activity.java:4743)
    at android.support.v4.app.FragmentActivity.startActivityForResult + 732(FragmentActivity.java:732)
    at android.app.Activity.startActivity + 5164(Activity.java:5164)
    at android.app.Activity.startActivity + 5132(Activity.java:5132)
    at hizli.karekod.okuyucu.utility.AppUtils.share + 79(AppUtils.java:79)
    at hizli.karekod.okuyucu.fragment.GenerateFragment$6.onSaved + 184(GenerateFragment.java:184)
    at hizli.karekod.okuyucu.utility.SaveImage.onPostExecute + 39(SaveImage.java:39)
    at hizli.karekod.okuyucu.utility.SaveImage.onPostExecute + 14(SaveImage.java:14)
    at android.os.AsyncTask.finish + 696(AsyncTask.java:696)
    at android.os.AsyncTask.access$600 + 180(AsyncTask.java:180)
    at android.os.AsyncTask$InternalHandler.handleMessage + 713(AsyncTask.java:713)
    at android.os.Handler.dispatchMessage + 112(Handler.java:112)
    at android.os.Looper.loop + 216(Looper.java:216)
    at android.app.ActivityThread.main + 7593(ActivityThread.java:7593)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 524(RuntimeInit.java:524)
           at com.android.internal.os.ZygoteInit.main + 987(ZygoteInit.java:987)
  • 16-09-2019, 13:14:18
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Amacınızı ve kodlarınızı da gösterseniz iyi olurdu ama hataya bakılırsa;
    -Okuma ve yazma izninizden kaynaklı olabilir
    -Daha üst sürüm Android cihazlarda dosya işlemlerinde Uri alırken ​FileProvider​​​ kullanmalısınız aksi halde yanlış lokasyonu alıyor.
  • 16-09-2019, 13:49:50
    #3
    WinstonSoft adlı üyeden alıntı: mesajı görüntüle
    Amacınızı ve kodlarınızı da gösterseniz iyi olurdu ama hataya bakılırsa;
    -Okuma ve yazma izninizden kaynaklı olabilir
    -Daha üst sürüm Android cihazlarda dosya işlemlerinde Uri alırken FileProvider kullanmalısınız aksi halde yanlış lokasyonu alıyor.
    Öncelikle çok teşekkür ederim.
    Okuma ve yazma izni zaten mevcut şimdi her iki sürüm için nasıl uyarlaya bilirim bana yardımcı olabilir misiniz.

      public interface SaveListener {
            public void onSaved(String savedTo);
        }
    
        private String saveImageFile(Bitmap bitmap, String fileName) {
            FileOutputStream out = null;
            String filePath = getFilename(fileName);
            try {
                out = new FileOutputStream(filePath);
                bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return filePath;
        }
    
        private String getFilename(String fileName) {
            File file = new File(Environment.getExternalStorageDirectory().getPath(), Constants.SAVE_TO);
            if (!file.exists()) {
                file.mkdirs();
            }
            if(fileName.contains("/")) {
                fileName = fileName.replace("/", "");
            }
            return (file.getAbsolutePath() + "/" + fileName + ".png");
        }
  • 16-09-2019, 15:17:19
    #4
    getFilename metodunu kullandığınız kod parçasını da atar mısınız ?
  • 16-09-2019, 15:34:49
    #5
    WinstonSoft adlı üyeden alıntı: mesajı görüntüle
    getFilename metodunu kullandığınız kod parçasını da atar mısınız ?
    özelden bilgiler iletildi.