Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在棉花糖和棉花糖以上设备上的onCreate中从外部存储器读取文件_Android_Android Studio - Fatal编程技术网

Android 在棉花糖和棉花糖以上设备上的onCreate中从外部存储器读取文件

Android 在棉花糖和棉花糖以上设备上的onCreate中从外部存储器读取文件,android,android-studio,Android,Android Studio,我试图通过调用方法LoadData()从外部存储器中读取onCreate方法中的文件。这是我的密码 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //我尝试在调用文件之前声明权限 //ActivityCompat.requestPermissions(MainActivity.this,新字符串[]{andro

我试图通过调用方法
LoadData()
从外部存储器中读取
onCreate
方法中的文件。这是我的密码

创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//我尝试在调用文件之前声明权限
//ActivityCompat.requestPermissions(MainActivity.this,新字符串[]{android.Manifest.permission.READ_EXTERNAL_STORAGE},1);
//LoadData(Environment.getExternalStorageDirectory().getAbsolutePath());
LoadMyData(Environment.getExternalStorageDirectory().getAbsolutePath());
ActivityCompat.requestPermissions(MainActivity.this,新字符串[]{android.Manifest.permission.READ_EXTERNAL_STORAGE},1);

}
在棉花糖操作系统及更高版本上,您必须使用此代码读取或写入外部存储上的任何内容

 @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                            if (checkPermission()) {
                                      LoadMyData(Environment.getExternalStorageDirectory().getAbsolutePath());

                            } else {
                                requestPermission();
                            }
                        }
               }


                protected boolean checkPermission() {
                    int result = ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE);
                    if (result == PackageManager.PERMISSION_GRANTED) {
                        return true;
                    } else {
                        return false;
                    }
                }

                protected void requestPermission() {

                    if (ActivityCompat.shouldShowRequestPermissionRationale(this, android.Manifest.permission.READ_EXTERNAL_STORAGE)) {
                        Toast.makeText(this, "Write External Storage permission allows us to do store images. Please allow this permission in App Settings.", Toast.LENGTH_LONG).show();
                    } else {
                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                            requestPermissions(new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE}, 100);
                        }
                    }
                }

            @Override
            public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
                switch (requestCode) {
                    case 100:
                        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                            LoadMyData(Environment.getExternalStorageDirectory().getAbsolutePath());
                        } else {
                            Log.e("value", "Permission Denied, You cannot use local drive .");
                        }
                        break;
                }
            }

在棉花糖操作系统和更高版本上,您必须使用此代码来读取或写入外部存储上的任何内容

 @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                            if (checkPermission()) {
                                      LoadMyData(Environment.getExternalStorageDirectory().getAbsolutePath());

                            } else {
                                requestPermission();
                            }
                        }
               }


                protected boolean checkPermission() {
                    int result = ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE);
                    if (result == PackageManager.PERMISSION_GRANTED) {
                        return true;
                    } else {
                        return false;
                    }
                }

                protected void requestPermission() {

                    if (ActivityCompat.shouldShowRequestPermissionRationale(this, android.Manifest.permission.READ_EXTERNAL_STORAGE)) {
                        Toast.makeText(this, "Write External Storage permission allows us to do store images. Please allow this permission in App Settings.", Toast.LENGTH_LONG).show();
                    } else {
                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                            requestPermissions(new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE}, 100);
                        }
                    }
                }

            @Override
            public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
                switch (requestCode) {
                    case 100:
                        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                            LoadMyData(Environment.getExternalStorageDirectory().getAbsolutePath());
                        } else {
                            Log.e("value", "Permission Denied, You cannot use local drive .");
                        }
                        break;
                }
            }

用户授予权限后,您必须调用
LoadData()
——您的活动必须实现
ActivityCompat.OnRequestPermissionsResultCallback
,权限请求的结果将传递到其
onRequestPermissionsResult(int,String[],int[])
方法。

您必须调用
LoadData()
用户授予权限后-您的活动必须实现
ActivityCompat.OnRequestPermissionsResultCallback
,权限请求的结果将传递到其
onRequestPermissionsResult(int,String[],int[])
方法。

谢谢您的回复。这很有帮助。谢谢你的回复。这有帮助。