Flutter ile bir uygulama geliştiriyorsunuz ve kamera kullanım iznine ihtiyacınız oldu ve nasıl yapacağınızı bilmiyorsunuz. Bu yazı tam size göre, çünkü Flutter’da kamera izni nasıl alınır bu gösteriyor olacağım.
Flutter Kamera İzni Android Tarafı
Hiç vakit kaybetmeden kamera izinlerinizi tanımlamak için IDE’nizde projenizi açın ve dosyalar kısmından şu yolu takip edin;
android > app > main > AndroidManifest.xml
Ardından AndroidManifest.xml dosyanızı açtığınızda şuna benzer bir kod göreceksiniz.
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:label="mobiluygulamaadi"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
Bu kodda ikinci satırda yer alan <application etiketinin içerisinde bir yere, tercihen andoid:icon… etiketinin üzerine aşağıdaki kodu yapıştırın;
android:requestLegacyExternalStorage="true"
Bu kod Android tarafında ki uygulamanız için kullanıcıdan kamera ve storage izni alacak. Bu sayede uygulamanız çökmeyecek ve çalışacak.
iOS Tarafı için Kamera İzni Almak
iOS tarafında işler benzer ilerliyor aslında. Yapmanız gereken şey info.plist dosyasını bulmak ve ilgili kodu ekleme. Şimdi size adım adım nasıl yapıldığını anlatıyorum.
Bir önceki kısımda android tarafını anlattığımız için android klasörünü kullanmıştık. Tahmin edeceğiniz üzere bu seferde ios klasörünün altında ilgili dosyamızı arayacağız. Dosyamızın yolu şu şekilde;
ios > Runner > Info.plist
Eklememiz gereken kod ise;
<key>NSCameraUsageDescription</key>
<string>Ne için kullanılacaksa buraya yazın</string><key>NSMicrophoneUsageDescription</key>
<string>Mikrofon ne için kullanılacak ise buraya yazın</string><key>NSPhotoLibraryUsageDescription</key>
<string>Galeri ne için kullanılacak ise buraya yazın</string>
Yukarıdaki kodu kendinize göre düzenleyin ve ardından Info.plist dosyasında <dict> etiketleri arasında bir yere yapıştırın. Örneğin en alt kısmı tercih edebilirsiniz.
Burada dikkat etmeniz gereken key value şeklinde ilerlediği için bir önceki key ile value arasına yapıştırmayın. Görselde gösterdiğim gibi value dan sonra </dict> kapatma etiketinden önce yapıştırın. Aslında direkt olarak dict kapatma etiketi öncesine yapıştırmanız yeterli.
Bir yazımızın daha sonuna geldik. Lütfen yorum yapmayı ve beni takip etmeyi unutmayın.