启动项目开启存储定位等权限代码
时间: 2024-05-12 18:13:39 浏览: 9
以下是在 Android 上请求存储、定位权限的示例代码:
请求存储权限:
```
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE},
REQUEST_CODE_STORAGE_PERMISSION);
}
```
请求定位权限:
```
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[] {Manifest.permission.ACCESS_FINE_LOCATION},
REQUEST_CODE_LOCATION_PERMISSION);
}
```
其中,`REQUEST_CODE_STORAGE_PERMISSION` 和 `REQUEST_CODE_LOCATION_PERMISSION` 是自定义的请求码,用于在 `onRequestPermissionsResult()` 方法中区分不同的权限请求。例如:
```
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_CODE_STORAGE_PERMISSION) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 存储权限已授予
} else {
// 存储权限未授予
}
} else if (requestCode == REQUEST_CODE_LOCATION_PERMISSION) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 定位权限已授予
} else {
// 定位权限未授予
}
}
}
```
需要在 `AndroidManifest.xml` 文件中声明相应的权限:
```
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
```