storage/emulated/0/download是啥文件夹?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了storage/emulated/0/download是啥文件夹?相关的知识,希望对你有一定的参考价值。

参考技术A storage/emulated/0/download 是下载文件夹,专门来放下载的文件的地方的

学习,是指通过阅读、听讲、思考、研究、实践等途径获得知识和技能的过程。学习分为狭义与广义两种:

狭义:通过阅读、听讲、研究、观察、理解、探索、实验、实践等手段获得知识或技能的过程,是一种使个体可以得到持续变化(知识和技能,方法与过程,情感与价值的改善和升华)的行为方式。例如通过学校教育获得知识的过程。

广义:是人在生活过程中,通过获得经验而产生的行为或行为潜能的相对持久为方式。

社会上总会出现一种很奇怪的现象,一些人嘴上埋怨着老板对他不好,工资待遇太低什么的,却忽略了自己本身就是懒懒散散,毫无价值。

自古以来,人们就会说着“因果循环”,这话真不假,你种什么因,就会得到什么果。这就是不好好学习酿成的后果,那么学习有什么重要性呢?

物以类聚人以群分,什么样水平的人,就会处在什么样的环境中。更会渐渐明白自己是什么样的能力。了解自己的能力,交到同水平的朋友,自己个人能力越高,自然朋友质量也越高。

在大多数情况下,学习越好,自身修养也会随着其提升。同样都是有钱人,暴发户摆弄钱财只会让人觉得俗,而真正有知识的人,气质就会很不一样。

高端大气的公司以及产品是万万离不了知识的,只有在知识上不输给别人,才可以在别的地方不输别人。

孩子的教育要从小抓起,家长什么样孩子很大几率会变成什么样。只有将自己的水平提升,才会教育出更好的孩子。而不是一个目光短浅的人。

因为有文化的父母会给孩子带去更多的在成长方面的的帮助,而如果孩子有一个有文化的父母,通常会在未来的道路上,生活得更好,更顺畅。

学习是非常的重要,学习的好坏最终决定朋友的质量、自身修养和后代教育等方面,所以平时在学习中要努力。

FileNotFoundException: /storage/emulated/0/Download/ - Android Oreo

【中文标题】FileNotFoundException: /storage/emulated/0/Download/ - Android Oreo【英文标题】: 【发布时间】:2018-09-07 18:23:53 【问题描述】:

我有一个应用程序。有一个图像视图。图片从 Url 加载,还有一个用于共享图片的按钮。 当我按下分享按钮时,出现以下错误。

java.io.FileNotFoundException: /storage/emulated/0/Download/share_image_1536343274460.png(权限 拒绝)

我的清单 xml:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="50"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="50"/>

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="com.xxxx.fileprovider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths"/>
</provider>

provider_paths xml

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path name="external_files" path="."/>
</paths>

这是我的java代码

btnShare.setOnClickListener(new View.OnClickListener() 
    @Override
    public void onClick(View v) 
        //Toast.makeText(getApplicationContext(), "Test", Toast.LENGTH_SHORT).show();

        if (isReadStorageAllowed() == true) 
           onShareItem();
        
        else
        
            requestStoragePermission();
        
    
);

public void onShareItem() 
    // Get access to bitmap image from view
    imageView = (ImageView) findViewById(R.id.thumbnail);

    // Get access to the URI for the bitmap
    Uri bmpUri = getLocalBitmapUri(imageView);
    if (bmpUri != null) 
        //outfile is the path of the image stored in the gallery
        // Construct a ShareIntent with link to image
        Intent shareIntent = new Intent();
        shareIntent.setAction(Intent.ACTION_SEND);
        shareIntent.putExtra(Intent.EXTRA_STREAM, bmpUri);
        shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        shareIntent.setType("image/*");
        shareIntent.putExtra(Intent.EXTRA_TEXT,marketLink);
        // Launch sharing dialog for image
        startActivity(Intent.createChooser(shareIntent, "Share Image"));
     else 
         // ...sharing failed, handle error
     


public Uri getLocalBitmapUri(ImageView imageView) 
    Drawable drawable = imageView.getDrawable();
    Bitmap bmp = null;
    if (drawable instanceof BitmapDrawable)
        bmp = ((BitmapDrawable) imageView.getDrawable()).getBitmap();
     else 
        return null;
    
    // Store image to default external storage directory
    Uri bmpUri = null;
    try 
        File file =  new File(Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_DOWNLOADS), "share_image_" + System.currentTimeMillis() + ".png");
        file.getParentFile().mkdirs();
        FileOutputStream out = new FileOutputStream(file);
        bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
        out.close();
        bmpUri = Uri.fromFile(file);
     catch (IOException e) 
        e.printStackTrace();
    
    return bmpUri;

【问题讨论】:

这张图片在 SD 卡上吗? @UmangBurman ,图片从 url 加载。 好的,那么按钮的作用是什么? System.currentTimeMillis() 每次都更改。我认为文件名不会每次都更改对吗? @FaysalAhmed 这在奥利奥之前工作得很好。我的意思是,这适用于所有设备,但不适用于奥利奥。 【参考方案1】:

定位到 API 级别 24 及以上时,您需要使用 FileProvider.getUriForFile(context, "provider authority from manifest", file); 而不是 Uri.fromFile(file)

您的主要更改将在方法 getLocalBitmapUri() @ 这一行:

bmpUri = Uri.fromFile(file);

所以换个样子

如果(API 24 以上)则使用

FileProvider.getUriForFile(context, "provider authority from manifest", file);

其他旧方法。

【讨论】:

我很抱歉,但这与 Permission Denied thingy 有什么关系? 这是因为您从清单文件中获得了文件提供程序,因此该应用程序不会因FileUriExposed 异常而崩溃。但是您仍然使用 URI 类的旧 API 接收 URI。虽然它与 SDK 24 相比有所变化,因此我们需要使用 FileProvider 类来获取我们的 URI。 哦,我明白了。所以,我希望这是解决方案。 你可以自己试试。 不,谢谢,我还有其他事情要做。 :)

以上是关于storage/emulated/0/download是啥文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

如果把/storage/emulated/0里的东西都删了,手机还能正常用吗?

我有图片保存到storage/emulated/0/tencent/MicroMsg/WeiXin/文件夹,但找不到这个文件,或者文件夹。

storage/emulated/0 是存储在啥地方?

storage/emulated/0/download是啥文件夹?

手机文件路径storage/emulated/0里的文件全部被删除了,格式化手机还可以恢复吗?

“/mnt/sdcard”和“sdcard”有啥区别?