तो मैं एक ऐप बना रहा हूं जो कैमरे का उपयोग करता है, डीबग मोड पर सबकुछ ठीक काम करता है, कैमरा ठीक से खुल सकता है, लेकिन जब मैं इसे एपीके में परिवर्तित करता हूं तो कैमरा काम नहीं कर रहा है।

यहाँ कोड है:

Future<Null> _pickImageCam() async {
    final pickedImage =
    await ImagePicker().getImage(source: ImageSource.camera);
    imageFile = pickedImage != null ? File(pickedImage.path) : null;
    if (imageFile != null) {
      setState(() {
        state = AppState.picked;
      });
    }
  }

मैंने सूची टाइल का उपयोग करके फ्यूचर क्लास का उपयोग किया

ListTile(
          leading: Icon(Icons.camera_alt),
          title: Text('Camera'),
          onTap: () {
            if (state == AppState.free)
              _pickImageCam().then((value) => _cropImage());
            Navigator.pop(context);
          },
        ),
0
Caramel 20 अगस्त 2021, 07:20

2 जवाब

सबसे बढ़िया उत्तर

मैं बस इसे समझ गया, बस सभी AndoidManifest.xml, (एंड्रॉइड/ऐप/src/(डीबग, मुख्य, प्रोफ़ाइल)) पर अनुमति जोड़ें।

यहां वह जगह है जहां (डीबग, प्रोफाइल) जोड़ना है।

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.~~~.~~~">
    <!-- Flutter needs it to communicate with the running application
         to allow setting breakpoints, to provide hot reload, etc.
    -->
    <uses-permission android:name="android.permission.INTERNET"/>
//new
    <uses-permission android:name="android.permission.CAMERA" />
//new
</manifest>

मुख्य AndroidManifest.xml . पर

...
<meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>
//new
    <uses-permission android:name="android.permission.CAMERA" />
//new
</manifest>
0
Caramel 20 अगस्त 2021, 08:51

चरण 1: अपनी Android/app/build.gradle फ़ाइल में न्यूनतम Android sdk संस्करण को 21 (या उच्चतर) में बदलें। चरण 2 मेनिफेस्ट फ़ाइल में अनुमति जोड़ें

1
akram abdullah 20 अगस्त 2021, 04:51