How to fix 'APK is using CAMERA permissions that require a privacy policy error in play console?

1,175

Solution 1

You have to add privacy policy for the store. Go to Google Play Console, Select Store preference > App content. Under "Privacy Policy" add a privacy policy URL. NB: This url should be public. It could be from any website. If you app has website then use form that website but if it doesn't then you may use it from 3rd party.

Solution 2

Your app's manifest.xml having these permission to access information from your's device but you don't have privacy policy link while submitting on the play store. so you getting this warning.

Share:
1,175
MD MEHEDI HASAN
Author by

MD MEHEDI HASAN

Hi! I AM FLUTTER DEVELOPER šŸ‘‹ šŸ”­ Iā€™m currently working on augnitive.com šŸŒ± Iā€™m currently learning Dart & Flutter || Python & Django šŸ‘Æ Iā€™m looking to collaborate on Flutter & Django Development šŸ¤” Iā€™m looking for help with Flutter & Django Development šŸ’¬ Ask me about: Dart, Flutter, UX-UI, Python, Django šŸ“« How to reach me: [email protected] or Direct Contact: +8801790180825 āš” Fun fact: coffee and bugs

Updated on December 28, 2022

Comments

  • MD MEHEDI HASAN
    MD MEHEDI HASAN over 1 year

    I'm setting my flutter app to upload on play console but it shows error- "Your APK or Android App Bundle is using permissions that require a privacy policy: (android.permission.CAMERA)."

    I am tried to solve this problem. I am already using permission for camera in my manifest file. How can i solve this problem ? Play error screenshot

    main/manifest file :

      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example.subidhacustomermobileappv2">
      <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
      <uses-permission android:name="android.permission.VIBRATE" />
      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
      <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
      <uses-permission android:name="android.permission.CAMERA"/>
      <uses-permission android:name="android.permission.WAKE_LOCK"/>
    
      <application
          android:name=".Application"
          android:label="Example"
          android:icon="@mipmap/ic_launcher">
          <activity
              android:name=".MainActivity"
              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">
              <intent-filter>
                  <action android:name="android.intent.action.MAIN" />
                  <category android:name="android.intent.category.LAUNCHER" />
              </intent-filter>
    
              <intent-filter>
                  <action android:name="FLUTTER_NOTIFICATION_CLICK" />
                  <category android:name="android.intent.category.DEFAULT" />
              </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" />
    
          <receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver">
              <intent-filter>
                  <action android:name="android.intent.action.BOOT_COMPLETED"></action>
              </intent-filter>
          </receiver>
          <receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationReceiver" />
    
          <service
              android:name="io.flutter.plugins.androidalarmmanager.AlarmService"
              android:permission="android.permission.BIND_JOB_SERVICE"
              android:exported="false"/>
          <receiver
              android:name="io.flutter.plugins.androidalarmmanager.AlarmBroadcastReceiver"
              android:exported="false"/>
          <receiver
              android:name="io.flutter.plugins.androidalarmmanager.RebootBroadcastReceiver"
              android:enabled="false">
              <intent-filter>
                  <action android:name="android.intent.action.BOOT_COMPLETED"></action>
              </intent-filter>
          </receiver>
    
      </application>
    </manifest>
    

    pubspec.yaml file is :

    dependencies:
      flutter:
        sdk: flutter
    
      # The following adds the Cupertino Icons font to your application.
      # Use with the CupertinoIcons class for iOS style icons.
      cupertino_icons: ^0.1.2
      json_annotation: ^3.0.1
      shared_preferences: ^0.5.7+2
      flutter_local_notifications: ^1.4.3
      rxdart: ^0.24.0
      provider: ^4.0.5+1
      easy_localization: ^2.3.2
      # double_back_to_close_app: ^1.2.0
      double_back_to_close_app: ^2.0.1
      image_picker: ^0.6.6+4
      photo_view: ^0.9.2
      http: ^0.12.1
      dio: ^3.0.9
      fluttertoast: ^4.0.1
      cached_network_image: ^2.2.0+1
      expandable: ^4.1.4
      flutter_datetime_picker: ^1.4.0
      firebase_storage: ^3.1.3
      webview_flutter: ^0.3.22+1
      sslcommerz: ^0.0.1
      toast: ^0.1.5
      dropdown_search: 0.4.4
      android_intent: ^0.3.7+3
      table_calendar: ^2.2.3
      smooth_star_rating: 1.1.1
      url_launcher: ^5.7.1
      crisp: ^0.1.3
      firebase_core: ^0.4.0+9
      firebase_database: ^3.1.3
      firebase_messaging: ^5.1.2
      intl: ^0.16.1
      clipboard_manager: ^0.0.4
      android_alarm_manager: 0.4.5+14
      device_apps: ^1.2.0
      camera: ^0.5.8+17
    
    
    • Abir Ahsan
      Abir Ahsan about 3 years
      please accept my answer if it's working.
  • MD MEHEDI HASAN
    MD MEHEDI HASAN about 3 years
    This solution is very useful. Thank you