Manifest.permission.WRITE_EXTERNAL_STORAGE 在哪里定义
时间: 2024-03-01 12:55:44 浏览: 167
Manifest.permission.WRITE_EXTERNAL_STORAGE 是在 Android SDK 中的 AndroidManifest.xml 文件中定义的。这个权限允许应用程序在外部存储器中写入数据。在 AndroidManifest.xml 文件中,这个权限的定义如下:
```xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
这个权限在 Android 6.0 及以上的版本中是需要动态申请的,而且如果应用程序需要在外部存储器中读取数据,也需要申请 Manifest.permission.READ_EXTERNAL_STORAGE 权限。
相关问题
public void initView() { if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) { if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE, REQUEST_PERMISSION_CODE); } } }
这是一个 Android 中用于检查并请求存储权限的代码。如果当前设备的 SDK 版本大于 Android 5.0 (即 Lollipop),则会检查是否已经授予应用程序写入外部存储的权限。如果未授权,则会请求授权。
其中,PERMISSIONS_STORAGE 是一个字符串数组,包含所需的权限(在此示例中只包含 WRITE_EXTERNAL_STORAGE 权限)。REQUEST_PERMISSION_CODE 是一个整数值,用于标识权限请求的结果。
需要注意的是,该方法应该在 Activity 的生命周期方法中调用(例如 onCreate() 或 onResume()),以确保在应用程序启动时检查和请求权限。
flutter compat added android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_PHONE_STATE解决实例
为了在Flutter应用中使用WRITE_EXTERNAL_STORAGE和READ_PHONE_STATE权限,需要在AndroidManifest.xml文件中添加以下代码:
```
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
```
然后,在您的Flutter项目中的android/app/build.gradle文件中添加以下依赖项:
```
dependencies {
implementation 'com.android.support:support-compat:28.0.0'
}
```
最后,在您的Flutter项目中的MainActivity.java文件中添加以下代码:
```
import android.os.Bundle;
import io.flutter.app.FlutterActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import android.Manifest;
import android.content.pm.PackageManager;
public class MainActivity extends FlutterActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
}
permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE);
if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, 2);
}
}
}
```
这个代码片段将检查WRITE_EXTERNAL_STORAGE和READ_PHONE_STATE权限是否被授予,并提供请求这些权限的选项。当用户授权这些权限后,您的应用程序就可以使用这些权限了。
阅读全文