Search code examples
androidflutterflutter-local-notification

After installing flutter local notification I think i might have done mistake in giving Permission in AndriodManifest.xml file


My AndriodManifest.xml file code is here

manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.clock_app">
   
   <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.VIBRATE" />
   
   <application
        android:label="clock_app"
        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>
            <receiver android:name="com.dexterous.flutterlocalnotifications.
            ScheduledNotificationBootReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
            </intent-filter>
        </receiver>
        <receiver android:name="com.dexterous.flutterlocalnotifications.
        ScheduledNotificationReceiver" />
        </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>

I Am Getting Errors As Bellow

#FAILURE: Build failed with an exception.

  • What went wrong: Execution failed for task ':app:processDebugResources'.

A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade Android resource linking failed G:\clock\clock_app\build\app\intermediates\packaged_manifests\debug\AndroidManifest.xml:51: AAPT: error: unexpected element found in .

 G:\clock\clock_app\build\app\intermediates\packaged_manifests\debug\AndroidManifest.xml:57: AAPT: error: unexpected element <receiver> found in <manifest><application><activity>.

2

#Please anyone help me to get rid of this errors


Solution

  • Move your <revceiver/> outside of the <acivity/>

        manifest xmlns:android="http://schemas.android.com/apk/res/android"
            package="com.example.clock_app">
           
           <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
            <uses-permission android:name="android.permission.VIBRATE" />
           
           <application
                android:label="clock_app"
                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>
                <receiver android:name="com.dexterous.flutterlocalnotifications.
                    ScheduledNotificationBootReceiver">
                    <intent-filter>
                        <action android:name="android.intent.action.BOOT_COMPLETED"/>
                        <action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
                    </intent-filter>
                </receiver>
                <receiver android:name="com.dexterous.flutterlocalnotifications.
                ScheduledNotificationReceiver" />
                <!-- 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>