已添加enter code hereAndroidmanifest.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" />我也尝试过通过"permission_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"),
                  )
                ],
              ));
    }
  }发布于 2021-03-05 22:59:44
它对我很有效
flutter build apk --no-shrinkhttps://stackoverflow.com/questions/61509704
复制相似问题