zoukankan      html  css  js  c++  java
  • permission

    import 'package:flutter/material.dart';
    import 'dart:io';
    import 'dart:async';
    import 'package:rxdart/rxdart.dart';
    import 'package:path_provider/path_provider.dart';
    import 'package:path/path.dart';
    import 'package:permission_handler/permission_handler.dart';
    //import 'package:simple_permissions/simple_permissions.dart';
    
    
    void main() => runApp(MaterialApp(home: MyApp(),));
    
    class MyApp extends StatelessWidget {
      DataBloc bloc;
    
      cp()async{
        
    //    var per = await SimplePermissions.checkPermission(Permission.WriteExternalStorage);
        
        var per = await PermissionHandler().checkPermissionStatus(PermissionGroup.storage);
        if(per!=PermissionStatus.granted){
          print('requested');
          await PermissionHandler().requestPermissions([PermissionGroup.storage]);
        }
        per = await PermissionHandler().checkPermissionStatus(PermissionGroup.storage);
        print('per: $per');
    
        Directory tempDir = await getExternalStorageDirectory();
        print(tempDir.path);
        print('start cp');
        String a = join(tempDir.path, '4');
    
        var p = await Process.run('mkdir', [a]).then((ProcessResult e){
          print(e.stdout);
          print(e.stderr);
          print(e.exitCode);
        });
        print('cp finished');
      }
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(title: Text('sss'),),
          body: Container(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: <Widget>[
                RaisedButton(child: Text('mkdir'),onPressed: (){
    
                    cp();
                },),
                RaisedButton(child: Text('delete'),onPressed: (){
    
                },),
              ],
            ),
          ),
        );
      }
    }
    
    class DataBloc {
      ReplaySubject dataBloc = ReplaySubject();
    }
    
    //void shell(String cmd, List<String> opts, void onExit(int exitCode))async{
    //  var p = await Process.start(cmd, opts);
    //  p.stdout.pipe(stdout);
    //  stdin.pipe(p.stdin);
    //  p.onExit = (exitCode)async{
    //    await p.kill();
    //    onExit(exitCode);
    //  }
    //}
    
    
    //void shell(String cmd, List<String> opts, void onExit(int exitCode)) {
    //  var p = Process.start(cmd, opts);
    //  p.stdout.pipe(stdout);  // Process output to stdout.
    //  stdin.pipe(p.stdin);    // stdin to process input.
    //  p.onExit = (exitCode) {
    //    p.close();
    //    onExit(exitCode);
    //  };
    //}
    

      

  • 相关阅读:
    PCB CE工具取Genesis JOB与STEP内存地址 方法分享
    PCB 720全景图嵌入登入界面应用实现
    PCB 录屏工具Screen2Exe GifCam ScreenToGif
    Centos部署hexo
    npm俩种换源方式
    腾讯云Centos下安装FastDFS
    远程连接docker容器里的MySQL出现2058
    CentOS7.6安装docker
    数据结构与算法(3)---链表
    java实现自定义图
  • 原文地址:https://www.cnblogs.com/pythonClub/p/10893756.html
Copyright © 2011-2022 走看看