【发布时间】:2018-09-17 02:43:02
【问题描述】:
如何在 INTERNAL STORAGE 中创建文件夹并将位图图像保存在 Android marshmallow 的文件夹中。 我特别想知道 Marshmallow ......而且我已经在清单文件中给予了所有许可。 请帮我解决这个问题..
【问题讨论】:
标签: android
如何在 INTERNAL STORAGE 中创建文件夹并将位图图像保存在 Android marshmallow 的文件夹中。 我特别想知道 Marshmallow ......而且我已经在清单文件中给予了所有许可。 请帮我解决这个问题..
【问题讨论】:
标签: android
参考:How to check Grants Permissions at Run-Time?
我刚刚发现我的需要,我们可以检查权限是否被授予:
checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
必要时请求权限
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
100);
// MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
// app-defined int constant
return;
}
Handle the permissions request response
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case 100: {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission was granted, yay! do the
// calendar task you need to do.
} else {
// permission denied, boo! Disable the
// functionality that depends on this permission.
}
return;
}
// other 'switch' lines to check for other
// permissions this app might request
}
}
创建文件夹喜欢
File directory = new File(Environment.getExternalStorageDirectory()+File.separator+"images");
目录.mkdirs();
让我知道这是否适合你!
您还需要在AndroidManifest.xml 中添加以下行
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
【讨论】:
在特别是 Marshmallow 版本中,需要以编程方式获取权限。以下是读取外部存储的示例代码。
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
PERMISSION_CODE);
在 onResultPermissionsRequest() 方法中
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
if(requestCode == PERMISSION_CODE){
if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
//Permission granted
}
else{
//Permission Not granted
}
}
}
希望为各种不同的权限编写类似的代码。希望这应该有效。如果这不起作用,在 Marshmallow 中肯定需要动态获取权限。
【讨论】: