flutter_curiosity
集成部分原生功能,支持ios android
android
1.自动 添加 android http无法请求接口 解决方法 2.自动 添加 FileProvider 配置至 AndroidManifest 3.按需要 添加以下权限
<!--允许程序打开网络-->
<uses-permission android:name="android.permission.INTERNET" />
<!--允许程序使用相机-->
<uses-permission android:name="android.permission.CAMERA" />
<!--允许程序写入本地存储-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允许程序读取本地存储-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!--允许程序打开闪光灯-->
<uses-permission android:name="android.permission.FLASHLIGHT" />
<!--允许程序访问有关GSM网络信息-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--允许程序防止休眠-->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!--允许程序拨打电话-->
<uses-permission android:name="android.permission.CALL_PHONE" />
<!--允许程序安装应用程序-->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
ios添加权限
- ios/Runner/Info.plist 按需要 添加权限
<key>NSCameraUsageDescription</key>
<string>请允许打开相机拍照</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>通过您的地理位置信息获取您周边的相关数据</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>请允许访问相册以选取照片</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>请允许访问相册以选取照片</string>
<key>NSFileProviderDomainUsageDescription</key>
<string>是否允许此App使用你的相机进行拍照?</string>
<key>io.flutter.embedded_views_preview</key>
<true/>
1.原生方法
2.二维码扫描
3.获取手机硬件信息 (app信息,设备信息)
4.Android ios 跳转设置
5.键盘状态监听
@override
void initState() {
super.initState();
keyboardListener((bool visibility) {
log(visibility);
showToast(visibility ? '键盘已弹出' : '键盘已关闭');
});
}
6.原生回调
@override
void initState() {
super.initState();
if (isMobile) {
log('添加 原生回调监听');
onResultListener(activityResult: (AndroidActivityResult result) {
log('AndroidResult requestCode = ${result.requestCode} '
'resultCode = ${result.resultCode} data = ${result.data}');
}, requestPermissionsResult: (AndroidRequestPermissionsResult result) {
log('AndroidRequestPermissionsResult: requestCode = ${result.requestCode} \n'
' permissions = ${result.permissions} \n grantResults = ${result.grantResults}');
});
}
}
7.设备平台
桌面端窗口尺寸设置(支持 macOS windows linux)
void fun(){
getDesktopWindowSize();
setDesktopWindowSize();
setDesktopMinWindowSize();
setDesktopMaxWindowSize();
resetDesktopMaxWindowSize();
toggleDesktopFullScreen();
setDesktopFullScreen();
getDesktopFullScreen();
/// 设置桌面版 为 手机 或 ipad 尺寸
setDesktopSizeTo4P7();
setDesktopSizeTo5P5();
setDesktopSizeTo5P8();
setDesktopSizeTo6P1();
setDesktopSizeToIPad11();
setDesktopSizeToIPad10P5();
setDesktopSizeToIPad9P7();
}