Flutter开发日记(一)--本地下载功能以及安卓安装应用

上个星期因为要使用Flutter开始进行开发,所以,决定要开始总结下:
第一,确定开发的思路是怎么样的:


截屏2021-04-24 下午9.16.06.png

确定开发思路之后就开动了!!
1、使用Dio进行下载功能:

 Response response = await dio.download(参数1:下载的url,参数2:下载保存的路径,参数3:下载的监听);

2、下载之前需要做的准备:
一、现在保存的路径,使用path_provider插件,获取安卓或ios的保存路径

//获取保存路径
  static Future<String> _getPhoneLocalPath(BuildContext context) async {
    final directory = Theme.of(context).platform == TargetPlatform.android
        ? await getExternalStorageDirectory()
        : await getApplicationDocumentsDirectory();
    return directory.path;
  }

二、现在保存的动态权限申请:
第一,先要在android里面的AndroidManifest.xml文件,进行权限的申请

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

第二,使用permission_handler这个权限申请的插件进行动态权限的申请

//检查是否有储存权限
  static Future<bool> _checkPermissionFunction(BuildContext context) async {
    if (Theme.of(context).platform == TargetPlatform.android) {
      PermissionStatus permission = await Permission.storage.status;
      if (permission.isDenied) {
        Permission.storage.request();
      } else if (permission.isPermanentlyDenied) {
        openAppSettings();
      } else {
        return true;
      }
    } else {
      return true;
    }
    return false;
  }

然后呢,就是安装使用的install_plugin第三方库

        InstallPlugin.installApk(参数1:安装包的路径,参数2:安装包名 ).then((value) => null);

好了!!散花结束,思路都有了,拼接起来不难吧!!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容