从Launcher

时间:2015-12-17 20:22:29

标签: android exception filenotfoundexception user-permissions

我注意到Google已经在KitKat中引入了一个新的外部存储权限模型,我怀疑我得到的错误与它有关。作为我的代码的片段,

@Override
    protected void onPostExecute(Uri uri) {
        Intent result = new Intent();

        if (getActivity().getIntent().getBooleanExtra(Intent.EXTRA_ALLOW_MULTIPLE, false)) {
            result.setClipData(new ClipData(documentItem.getSimpleName(), new String[]{"*/*"}, new ClipData.Item(uri)));
            result.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
        } else {
            result.setData(uri);
            result.putExtra("mimeType", "image/jpeg");
        }

        getActivity().setResult(Activity.RESULT_OK, result);
        getActivity().finish();
    }

基本上,这段代码被调用来从Launcher Activity,Action Launcher或Google Now启动器更改壁纸。

请注意,我还在AndroidManifest中添加了权限,这显然不是必需的,并且不应该是问题的原因。

   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
   <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

我收到以下错误,

12-17 12:19:16.085 19459 20444 W BitmapCropTask: cannot read file: file:///storage/emulated/0/Android/data/android_app/cache/skydroid_file_cache/89399873/IMG_6586.JPG
12-17 12:19:16.085 19459 20444 W BitmapCropTask: java.io.FileNotFoundException: /storage/emulated/0/Android/data/android_app/cache/skydroid_file_cache/89399873/IMG_6586.JPG: open failed: EACCES (Permission denied)
12-17 12:19:16.085 19459 20444 W BitmapCropTask:    at libcore.io.IoBridge.open(IoBridge.java:452)

另外,我试图监控外部存储,我看到下载的文件的文件名看起来像_false.0,我无法打开。

如果您遇到过同样的问题,请伸出援助之手!

0 个答案:

没有答案