面试题答案
一键面试iOS平台
- 配置文件:在
ios/Runner/Info.plist
文件中添加权限描述。例如申请存储权限,添加以下内容:
<key>NSPhotoLibraryUsageDescription</key>
<string>Your access to photos is required for this app.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app needs access to your photos library to save photos.</string>
- 代码调用:使用权限管理相关插件,如
permission_handler
。在pubspec.yaml
中添加依赖:
permission_handler: ^10.2.0
在代码中导入并申请权限:
import 'package:permission_handler/permission_handler.dart';
Future<void> requestStoragePermission() async {
var status = await Permission.photos.status;
if (!status.isGranted) {
await Permission.photos.request();
}
}
Android平台
- 配置文件:在
android/app/src/main/AndroidManifest.xml
文件中添加权限声明。对于存储权限,添加如下代码:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- 代码调用:同样使用
permission_handler
插件。在代码中申请权限:
import 'package:permission_handler/permission_handler.dart';
Future<void> requestStoragePermission() async {
var status = await Permission.storage.status;
if (!status.isGranted) {
await Permission.storage.request();
}
}