读取sd卡权限android_android sd卡读取权限 - CSDN
  • Android获得SD卡权限

    2018-05-30 22:10:08
    uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> ...

    加两行代码在MainActivity.xml中
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>  



    https://blog.csdn.net/chengyingzhilian/article/details/7279494
    很详细,主要就是位置问题

    展开全文
  • android6.0读取sd卡文件问题 if (Build.VERSION.SDK_INT &gt;= 23) { if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager....

    android6.0读取sd卡文件问题

    if (Build.VERSION.SDK_INT >= 23) {
           if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
             ActivityCompat.requestPermissions(MainActivity.this, new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
          }
       }

    在小米系统6.0,可以正常读取(小米5.0,华为5.0,和其他手机我测试过几台,都可以正常读取,显示图片)
    唯独华为荣耀7的6.0,读取图片失败,说没有权限。

    爆出异常:Unable to decode stream: java.io.FileNotFoundException: /storage/143B-DA69/DCIM/Camera/IMG_20160321_125830.jpg: open failed: EACCES (Permission denied)


    代码简单,直接读取sd卡上面的图片,显示在imageView上面
    (为了方便,我直接写死一个图片路径,图片是存在的)
     Bitmap bitmap = compressImage("/storage/143B-DA69/DCIM/Camera/IMG_20160321_125830.jpg");
            if (bitmap==null){
              VLog.showToast(this,"is null");
            }else {
                img.setImageBitmap(bitmap);
            }



    //文件转bitmap
        public static Bitmap compressImage(String path) {
            BitmapFactory.Options options = new BitmapFactory.Options();
            options.inJustDecodeBounds = true;
            Bitmap bitmap = BitmapFactory.decodeFile(path, options); // 此时返回 bm 为空
            options.inJustDecodeBounds = false; // 缩放比。由于是固定比例缩放,只用高或者宽其中一个数据进行计算即可
            int be = (int) (options.outHeight / (float) 640);
            if (be <= 0)
                be = 1;
            options.inSampleSize = be; // 重新读入图片,注意此时已经把 options.inJustDecodeBounds
            // 设回 false 了
            bitmap = BitmapFactory.decodeFile(path, options);
            return bitmap;
        }

    添加权限(我项目的权限,有些网络请求的权限我就不删除,直接拷贝过来)
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
        <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />



    找了好久原因,一开始以为我代码有问题,发现,在其他手机可以,唯独我荣耀7的6.0,运行出错。

    然后我在各大应用市场,下载一下小应用(做到粗糙的app,感觉没有做什么适配的那些app)试了一试,发现,他们读取sd卡的可以,也可以读取图片。

    太奇怪了。

    找了一个晚上,早上我改了一下  targetSdkVersion 23 改为   targetSdkVersion 22
    然后运行,发现可以了,没有爆出没有权限的错误,基本所有手机都可以。


    下面是荣耀7的6.0系统出现权限问题的配置(targetSdkVersion 改为22可以成功运行)

    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"

        defaultConfig {
            applicationId "interest.pictest23"
            minSdkVersion 15
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
     

    展开全文
  • 现在android 9.0是如何读取外置SD卡权限的?我试过动态和静态申请都不行,在线等,急急急~ 听别人说用DocumentUI,这个怎样用,网上搜到的方法很少~
  • Android中,要模拟SD卡,要首先使用adb的mksdcard命令来建立SD卡的镜像,如何建立,大家上网查一下吧,应该很容易找到,这里不说这个问题.  但是在应用程序执行起来以后,我们可以看到sdcard的执行权限很有...
    在Android中,要模拟SD卡,要首先使用adb的mksdcard命令来建立SD卡的镜像,如何建立,大家上网查一下吧,应该很容易找到,这里不说这个问题.

        但是在应用程序执行起来以后,我们可以看到sdcard的执行权限很有问题.懂Linux的人都知道,这样的权限是无法在SD开中写入内容的,也就无法建立目录.Android中对sd卡的读写权限问题

        但是,我们在adb shell命令中,依然可以在sdcard中建立目录,写入文件.这倒是也是见鬼的事情.但是,如果你想把权限更改成777,命令行并不报错,再使用ls -l查看一下,权限依然没有改变过来.我们急中生智,使用su命令将自己变成root用户,在使用chmod 777 sdcard来改变权限,发现结果依然无效.

        网上多有介绍,在Android的manifest.xml文档中加入下面的声名:
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>



        试验之后,大多数人发现依然无效.没有人再把问题叙述得更详细些,不知道是什么样的心态?我的一个弟兄终于找到了问题所在.

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="byd.eagle"
          android:versionCode="1"
          android:versionName="1.0">
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>  
        <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".EagleBackup"
                      android:label="@string/app_name">
                <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
        <uses-sdk android:minSdkVersion="8" />
    </manifest>

        注意一下uses-permission在manifest.xml中的位置,这是解决问题的关键。

        那么我们再来写个试验程序:

        public class TestMakePath extends Activity {
          
           @Override
            public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
           
            try
            {
                 Log.v("EagleTag",".......hahhha");
                 Log.v("EagleTag",Environment.getExternalStorageState());
                 File tPath=new File("/mnt/sdcard/tmp1");
                 if(tPath.canRead())
                     Log.v("EagleTag","very bad");
                 if(tPath.canWrite())
                     Log.v("EagleTag","very good");
                 File tPathSon=new File("/mnt/sdcard/tmp1/good");
             
               tPathSon.mkdirs();
             }
             catch(Exception e)
             {
                 Log.v("EagleTag","file create error");
             }      
          }
       }
       这回真的没问题了.

    展开全文
  • 在极客学院的Android项目实战中,有个记事本项目,由于视频中没有讲到在哪里加应用的读取SD卡权限问题,导致拍摄的照片和视频都无法存到SD卡中,在网上到处查之后,终于解决了。 在Android的Manifest文件中: xml ...

        在极客学院的Android项目实战中,有个记事本项目,由于视频中没有讲到在哪里加应用的读取SD卡权限问题,导致拍摄的照片和视频都无法存到SD卡中,在网上到处查之后,终于解决了。

    在Android的Manifest文件中:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="shw.com.textbook">
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:screenOrientation="portrait"
                android:name=".MainActivity"
                android:label="@string/app_name" >
        
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    
            <activity
                android:screenOrientation="portrait"
                android:name=".AddContent">
    
                </activity>
        </application>
    
    </manifest>
    
    权限加载的标签与<application>并列,并且<permission>与<uses-permission>都是可以的(需要注意的是,这两个标签不能完全等同,比如需要添加访问手机联系人的权限时,用的是uses-permission,而permission并没有访问手机联系人的选项)

    展开全文
  • AndroidQ的SD卡读取权限问题解决方法 在学Android中,前面的学习都没有什么问题,一遇到权限问题就蒙了,网上找了好久的,说是Android6.0以上要动态获取权限,我尝试了但是对我项目没有用。 于是我又找又找,终于...

    AndroidQ的SD卡读取权限问题解决方法

    在学Android中,前面的学习都没有什么问题,一遇到权限问题就蒙了,网上找了好久的,说是Android6.0以上要动态获取权限,我尝试了但是对我项目没有用。

    于是我又找又找,终于解决了,现在记录一下。
    解决的链接:https://www.jianshu.com/p/418180d7e195

    第一步:
    在AndroidManifest.xml中加入

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

    第二步:
    在AndroidManifest.xml的application的头里

     <application
            android:requestLegacyExternalStorage="true"
            >
    
    

    就这样,问题解决。

    展开全文
  • SD卡读写权限Android各版本有所不同,现将各版本关于sd卡读写权限申请特点记录下来并分享给大家 前言 在学习《第一行代码》播放SD卡根目录中的音乐时,碰到了无法读音乐文件的问题 android.system.ErrnoException:...
  • 读取sd卡中的图片  1 获取读取sd的权限  在AndroidMainfest.xml文件中添加            注意:在前添加  2 找到sd卡的目录(以真机的情况说明)    /**  *图片文件路径  *打印...
  • Android 6.0 读写SD卡权限问题, 运行时权限检查 Android M SD卡读写权限
  • 一般来说,android开发要获取手机权限的时候只需要在AndroidManifest.xml中添加权限代码即可,例如" 但是 ,对于华为手机 一招就不行了, 我这边需要一个小功能,就是拍照 上传图片到服务器,然后在其他...
  • 安卓6.0以上,进行了权限管理 不止要在AndroidManifest.xml里面添加权限   还要在JAVA代码中运行时实时请求权限: // Storage Permissions private static final int REQUEST_EXTERNAL_STORAGE = 1;
  • android6.0以上获取SD卡读写权限方法:打开搭载6.0以上版本的android手机,设置—找到该应用—权限—-选中读写SD权限
  • android 获取SD 卡权限

    2019-12-02 11:10:51
    Java层获取权限: void GetExternalStoragePermission() { if(!CheckExternalStoragePermission()) { ActivityCompat.requestPermissions(MainActivity.this, new String[]{android.Manifest.permission...
  • Android Studio SD卡访问权限 1、在 AndroidManifext.xml 中添加如下代码 &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt; &lt;uses-permission ...
  • Android6.0之后系统对权限的管理更加严格了,不但...下面是动态申请SD卡读写的权限 在AndroidManifest中添加SD卡读写的权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-pe
  • 记一次在android的学习中遇到的SD卡权限问题。最开始题主本来是想做一个小的demo来操作SD卡。如图所示: 没想到在开发的过程中遇到了权限问题。 首先贴一下activity的代码。其实就是三个按钮,绑定三个事件。 ...
  • 在调查图库中关于在内外存置卡之间移动/复制操作时,写了一个小程序测试在内外存储卡操作的可行性和性能问题,发现第三方应用无法访问外置存储卡。   调查后得知,在2.x的版本中,android手机只有/data/目录用于...
  • 首先要在AndroidManifext.xml中给与权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /&...
  • android6以前,想让第三方APP获的读写外部SD卡权限,只要修改 frameworks/base/data/etc/platform.xml 将  &lt;permission name="android.permission.WRITE_EXTERNAL_STORAGE" &gt;  &lt;...
1 2 3 4 5 ... 20
收藏数 16,451
精华内容 6,580
关键字:

读取sd卡权限android