Трепетание с помощью разрешения «метод сборки» предоставлено, но мульти-образное средство выбора не открывается ... тогда как оно работает в «методе отладки и запуска --release» ... почему? - PullRequest
0 голосов
/ 29 апреля 2020

enter code here Androidmanifest. xml все разрешения добавлены. Это разрешение прекрасно работает, когда я запускаю приложение в режиме отладки или выпуска, но когда я использую «build appbundle или build apk», сгенерированное приложение не открывает средство выбора изображений (разрешения не работают должным образом)

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.viaviaapp.flutter">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

У меня есть также попытался добавить разрешение во время выполнения через "mission_handler ". Страница приложения, где разрешение действительно требуется и используется. Даже если мы не добавляем разрешение во время выполнения, плагин «multi_image_picker» уже обрабатывает разрешения, но даже если ничего не работает, когда я использую «build apk» и использую его.

@override
  void initState() {
    super.initState();
    checkPermissions();
  }

checkPermissions() async {
    if (await Permission.storage.request().isUndetermined) {
      Permission.storage.request();
      Permission.camera.request();
    } else if (await Permission.storage.request().isDenied) {
      showDialog(
          context: (context),
          builder: (context) => AlertDialog(
                shape: ContinuousRectangleBorder(
                    borderRadius: BorderRadius.circular(20)),
                content: Text(
                  'viaviaapp requires permissions to storage and camera so that you can post images',
                  style: TextStyle(height: 1.3),
                ),
                actions: <Widget>[
                  FlatButton(
                    onPressed: () async {
                      if (await Permission.storage.request().isGranted) {
                        Navigator.pop(context);
                      } else {
                        Permission.storage.request();
                        Permission.camera.request();
                      }
                    },
                    child: Text("Grant Now"),
                  )
                ],
              ));
    } else if (await Permission.storage.request().isPermanentlyDenied) {
      showDialog(
          context: (context),
          builder: (context) => AlertDialog(
                shape: ContinuousRectangleBorder(
                    borderRadius: BorderRadius.circular(20)),
                content: Text(
                  'You have to grant required permission from the application settings.',
                  style: TextStyle(height: 1.3),
                ),
                actions: <Widget>[
                  FlatButton(
                    onPressed: () async {
                      if (await Permission.storage.request().isGranted) {
                        Navigator.pop(context);
                      } else {
                          openAppSettings();
                      }
                    },
                    child: Text("Open Settings"),
                  )
                ],
              ));
    }
  }
...