When I upgrade targetSdkVersion to 12, I got AndroidManifest.xml Error
"Apps targeting Android 12 and higher are required to specify an explicit value for android:exported when the corresponding component has an intent filter defined."
So I added android:exported. but same error.
Please see my AndroidManifest file and tell me where is error...
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.andrei.gototu">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="31" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="31" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<queries>
<intent>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<data android:mimeType="*/*" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="http"/>
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="https"/>
</intent>
</queries>
<application
android:name="com.andrei.gototu.MainApplication"
android:label="#string/app_name"
android:icon="#mipmap/ic_launcher"
android:allowBackup="false"
android:networkSecurityConfig="#xml/network_security_config"
android:theme="#style/AppTheme">
<activity
android:name="com.andrei.gototu.MainActivity"
android:label="#string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Redirect URI: "kakao{NATIVE_APP_KEY}://oauth“ -->
<data android:host="oauth" android:scheme="kakao837edjj38e8djj3j4j4je43" />
</intent-filter>
</activity>
<meta-data android:name="com.dieam.reactnativepushnotification.notification_foreground" android:value="false"/>
<!-- Change the resource name to your App's accent color - or any other color you want -->
<meta-data android:name="com.dieam.reactnativepushnotification.notification_color" android:resource="#android:color/white"/> <!-- or #android:color/{name} to use a standard color -->
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationActions"/>
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationPublisher"/>
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationBootEventReceiver" android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="com.htc.intent.action.QUICKBOOT_POWERON"/>
</intent-filter>
</receiver>
<service android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationListenerService" android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
</application>
</manifest>
How can I remove this error?
Try to add the android:exported="false" in All activites, services and receivers.
<activity
android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Redirect URI: "kakao{NATIVE_APP_KEY}://oauth“ -->
<data android:host="oauth" android:scheme="kakao837edjj38e8djj3j4j4je43" />
</intent-filter>
</activity>
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationActions" android:exported="false"/>
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationPublisher" android:exported="false"/>
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationBootEventReceiver" android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="com.htc.intent.action.QUICKBOOT_POWERON"/>
</intent-filter>
</receiver>
<service android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationListenerService" android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
Related
I am developing a Launcher app for Android TV and want to override the functionality of Home button. I want to bring my Application's Activity to top when Home button is pressed so that it acts as default launcher. I tried this Android Studio TV remote buttons but did not work. It is definitely possible because there are button mapper apps on the PlayStore. I have this in my AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.READ_TV_LISTINGS" />
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature
android:name="android.software.leanback"
android:required="true" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
<queries>
<intent>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.action.LAUNCHER" />
</intent>
</queries>
<application
android:name=".AppName"
android:allowBackup="true"
android:banner="#mipmap/ic_launcher_round"
android:fullBackupContent="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:supportsRtl="true"
android:theme="#style/Theme.AppTheme">
<activity
android:name=".AppActivity"
android:excludeFromRecents="true"
android:exported="true"
android:launchMode="singleTask"
android:stateNotNeeded="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LAUNCHER_APP" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.MONKEY" />
</intent-filter>
</activity>
<receiver
android:name=".broadcast_receivers.PackageChangeReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_CHANGED" />
<action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
</application>
</manifest>
any leads are appreciated. Thanks.
Here is my manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.mylearning.student">
<uses-feature
android:glEsVersion="0x00020000"
android:required="false" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="29" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <!-- Needed for Conferences (web audio capture) -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-feature
android:name="android.hardware.camera"
android:required="false"
tools:replace="required" />
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false"
tools:replace="required" />
<uses-feature
android:name="android.hardware.screen.portrait"
android:required="false" />
<uses-sdk tools:overrideLibrary="com.google.zxing.client.android" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<queries>
<package android:name="us.zoom.videomeetings" />
<intent>
<action android:name="android.media.action.IMAGE_CAPTURE" />
</intent>
<intent>
<action android:name="android.media.action.VIDEO_CAPTURE" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:mimeType="*/*" />
</intent>
</queries>
<application
android:name=".util.AppManager"
android:allowBackup="false"
android:hardwareAccelerated="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/student_app_name"
android:largeHeap="true"
android:logo="#drawable/canvas_logo_white"
android:networkSecurityConfig="#xml/network_security_config"
android:requestLegacyExternalStorage="true"
android:roundIcon="#mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="#style/MaterialTheme_Default"
tools:overrideLibrary="com.mylearning.canvasapi"
tools:replace="android:supportsRtl,android:allowBackup,android:label">
<activity
android:name="com.mylearning.student.activity.PDFReaderActivity"
android:exported="false" />
<activity
android:name="com.mylearning.student.activity.LoginActivity"
android:clearTaskOnLaunch="true"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:label="#string/student_app_name"
android:launchMode="singleTop"
android:theme="#style/LoginFlowTheme.Splash_Student"
android:windowSoftInputMode="stateHidden|adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.mylearning.student.activity.LoginLandingPageActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="#style/LoginFlowTheme.NoActionBar" />
<activity
android:name="com.mylearning.student.activity.FindSchoolActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="#style/LoginFlowTheme.NoActionBar" />
<activity
android:name="com.mylearning.student.activity.SignInActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="#style/LoginFlowTheme.NoActionBar" />
<activity
android:name="com.mylearning.student.activity.NavigationActivity"
android:configChanges="orientation|screenSize"
android:exported="true"
android:label="#string/canvas"
android:launchMode="singleTask"
android:theme="#style/CanvasMaterialTheme_Default"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="com.mylearning.student.ROUTING_ACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.mylearning.student.activity.SettingsActivity"
android:exported="true"
android:theme="#style/CanvasMaterialTheme_Default" />
<activity
android:name="com.mylearning.student.activity.PandaAvatarActivity"
android:exported="true"
android:label="#string/pandaAvatar"
android:theme="#style/CanvasMaterialTheme_Default" />
<activity
android:name="com.mylearning.student.activity.InternalWebViewActivity"
android:configChanges="orientation|screenSize"
android:exported="true"
android:theme="#style/CanvasMaterialTheme_Default" />
<activity
android:name="com.mylearning.student.activity.ViewMediaActivity"
android:configChanges="orientation|screenSize"
android:exported="true"
android:theme="#style/Theme.AppCompat.NoActionBar" />
<activity
android:name="com.mylearning.student.activity.VideoViewActivity"
android:configChanges="orientation|screenSize"
android:exported="true"
android:label="#string/student_app_name"
android:theme="#style/CanvasMaterialTheme_Default" />
<activity
android:name="com.mylearning.student.activity.InterwebsToApplication"
android:configChanges="keyboardHidden|orientation"
android:excludeFromRecents="true"
android:exported="true"
android:label="#string/student_app_name"
android:launchMode="singleTop"
android:theme="#style/Theme.Transparent.NoAnimationOrBackground">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<intent-filter>
<data
android:host="*"
android:scheme="canvas-mylearning" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="sso.mylearning.com"
android:pathPattern="/mylearning/login"
android:scheme="https" />
</intent-filter>
</activity>
<activity
android:name=".activity.ShareFileUploadActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:excludeFromRecents="true"
android:exported="true"
android:theme="#style/MaterialTheme_Default.Translucent">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="audio/*" />
<data android:mimeType="video/*" />
<data android:mimeType="image/*" />
<data android:mimeType="application/*" />
</intent-filter>
</activity>
<service
android:name=".mobius.common.ui.SubmissionService"
android:exported="false" /> <!-- Widget Items -->
<activity
android:name=".activity.NotificationWidgetRouter"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:label=""
android:theme="#style/Theme.AppCompat" />
<activity
android:name=".activity.WidgetSetupActivity"
android:exported="true"
android:theme="#style/Theme.Transparent">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
<activity
android:name=".activity.BookmarkShortcutActivity"
android:exported="true"
android:icon="#drawable/ic_bookmark_shortcut"
android:label="#string/student_app_name"
android:theme="#style/MaterialTheme_DefaultNoTransparency">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activity.StudentLoginWithQRActivity"
android:exported="true" />
<activity
android:name=".activity.StudentViewStarterActivity"
android:exported="true"
android:launchMode="singleTask">
<intent-filter>
<action android:name="com.mylearning.student.STUDENT_VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".features.documentscanning.DocumentScanningActivity"
android:exported="true"
android:screenOrientation="portrait" />
<service
android:name="com.pandautils.services.NotoriousUploadService"
android:exported="false" />
<service
android:name=".util.FileDownloadJobIntentService"
android:exported="true"
android:permission="android.permission.BIND_JOB_SERVICE" />
<receiver
android:name=".receivers.InitializeReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
</intent-filter>
</receiver> <!-- Push Notifications -->
<service
android:name=".receivers.StudentPushExternalReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service> <!-- To do widget -->
<receiver
android:name=".widget.TodoWidgetProvider"
android:exported="true"
android:label="#string/todoWidgetTitleLong">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.appwidget.action.APPWIDGET_ENABLED" />
<action android:name="android.appwidget.action.APPWIDGET_DELETED" />
<action android:name="android.appwidget.action.APPWIDGET_DISABLED" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="#xml/todo_widget_info" />
</receiver>
<service
android:name=".widget.TodoViewWidgetService"
android:exported="true"
android:permission="android.permission.BIND_REMOTEVIEWS" /> <!-- Grades Widget -->
<receiver
android:name=".widget.GradesWidgetProvider"
android:exported="true"
android:label="#string/gradesWidgetTitleLong">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.appwidget.action.APPWIDGET_ENABLED" />
<action android:name="android.appwidget.action.APPWIDGET_DELETED" />
<action android:name="android.appwidget.action.APPWIDGET_DISABLED" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="#xml/grades_widget_info" />
</receiver>
<service
android:name=".widget.GradesViewWidgetService"
android:exported="true"
android:permission="android.permission.BIND_REMOTEVIEWS" /> <!-- Notifications widget -->
<receiver
android:name=".widget.NotificationWidgetProvider"
android:exported="true"
android:label="#string/notificationWidgetTitleLong">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.appwidget.action.APPWIDGET_ENABLED" />
<action android:name="android.appwidget.action.APPWIDGET_DELETED" />
<action android:name="android.appwidget.action.APPWIDGET_DISABLED" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="#xml/notification_widget_info" />
</receiver>
<service
android:name=".widget.NotificationViewWidgetService"
android:exported="true"
android:permission="android.permission.BIND_REMOTEVIEWS" />
<service
android:name=".service.StudentPageViewService"
android:exported="true"
android:permission="android.permission.BIND_JOB_SERVICE" /> <!-- End of Widget Items -->
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="#xml/provider_paths" />
</provider>
</application>
</manifest>
1 confusion I have is 1. Is it nessecery to maintain the package name same as applicationId? As I have different package name and different applicationId.
For some reasons I am unable to refactoring the package name. Is something wrong with the manifest file or it is because of the different package name and applicationId?
What is possible solution? Thanks in advance
After publishing in the play store they reviewed our app they sent this message to my mail.
Following is the manifest file.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="se.thelins"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="tel" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="mailto" />
</intent>
</queries>
<application
android:label="Thelins"
android:usesCleartextTraffic="true"
android:icon="#mipmap/ic_launcher">
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="AIzaSyCFsgpO9RT68LqCGHQ1rzyaf2zrxrUMRS0"/>
<meta-data
android:name="flutterEmbedding"
android:value="2" />
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="#style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<meta-data
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="thelins" android:host="swish" />
</intent-filter>
<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name="com.apptreesoftware.barcodescan.BarcodeScannerActivity"/>
</application>
</manifest>
I can't find much about this issue over the internet, If you need any further information please ask in the comments section.
after setting android:exported still got this error of Apps targeting Android 12 and higher are required to specify an explicit value for android:exported when the corresponding component has an intent filter definedAfter setting all components on Manifest, still receive an error of "Error:
Apps targeting Android 12 and higher are required to specify an explicit value for android:exported when the corresponding component has an intent filter defined."
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.easymountain.quechua">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
<!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"-->
<!-- tools:ignore="ScopedStorage" />-->
<!-- <uses-permission-->
<uses-permission
android:name="android.permission.CLEAR_APP_CACHE"
tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="com.huawei.permission.external_app_settings.USE_COMPONENT" />
<uses-permission android:name="oppo.permission.OPPO_COMPONENT_SAFE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="com.huawei.permission.external_app_settings.USE_COMPONENT" />
<uses-permission android:name="oppo.permission.OPPO_COMPONENT_SAFE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<application
android:name=".base.BaseApplication"
android:allowBackup="false"
android:fullBackupContent="false"
android:hardwareAccelerated="true"
android:icon="#mipmap/ic_launcher"
android:installLocation="internalOnly"
android:label="#string/screen_app_name"
android:largeHeap="true"
android:requestLegacyExternalStorage="true"
android:networkSecurityConfig="#xml/network_security_config"
android:screenOrientation="portrait"
android:supportsRtl="true"
android:theme="#style/AppTheme"
android:usesCleartextTraffic="true"
tools:replace="android:name,android:hardwareAccelerated,android:allowBackup,android:label">
<!-- SDKNAVIGATION -->
<activity
android:name="com.easymountain.quechua.ui.sdknavigation.MpMainActivity"
android:configChanges="orientation|screenSize|locale"
android:exported="true"
android:screenOrientation="portrait"
tools:node="merge"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
<action android:name="android.intent.action.MANAGE_NETWORK_USAGE" />
<data android:scheme="geo" />
</intent-filter>
</activity>
<service
android:name="com.easymountain.quechua.ui.sdknavigation.navigation.delegate.MpTraceRecorder"
android:foregroundServiceType="location"
android:exported="true"
android:permission="android.permission.BIND_JOB_SERVICE" />
<activity
android:name="com.easymountain.quechua.ui.sdknavigation.poinative.fragment.MpVideoPlayerFullScreenActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"
android:screenOrientation="landscape"
android:exported="false"
android:theme="#style/VideoPlayerTheme" />
<!-- <activity-->
<!-- android:name="com.onegravity.contactpicker.core.ContactPickerActivity"-->
<!-- android:enabled="true"-->
<!-- android:exported="false">-->
<!-- <intent-filter>-->
<!-- <category android:name="android.intent.category.DEFAULT" />-->
<!-- <category android:name="android.intent.category.BROWSABLE" />-->
<!-- </intent-filter>-->
<!-- </activity>-->
<meta-data
android:name="preloaded_fonts"
android:resource="#array/preloaded_fonts" />
<!-- SDKNAVIGATION -->
<activity
android:name=".ui.splash.SplashActivity"
android:screenOrientation="portrait"
android:exported="true"
tools:node="merge"
android:theme="#style/AppTheme.NoActionBarSplash">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ui.authentification.AuthWebViewActivity"
android:exported="false"
android:theme="#style/Theme.AppCompat.Light.NoActionBar">
</activity>
<activity
android:name=".ui.main.MainActivity"
android:configChanges="orientation"
android:screenOrientation="portrait"
android:launchMode="singleTop"
android:theme="#style/Theme.AppCompat.Light.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden|adjustPan|adjustResize"
android:exported="true"
tools:node="merge"
tools:ignore="LockedOrientationActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="quechuahikefinder" />
</intent-filter>
<intent-filter>
<action android:name="quechuahikefindermobileapplication.HANDLE_AUTHORIZATION_RESPONSE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name="net.openid.appauth.RedirectUriReceiverActivity"
android:exported="true"
tools:node="merge">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="login"
android:scheme="quechuahikefinder" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="#string/mp_google_map_api_key" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="#string/facebook_app_id"
tools:replace="android:value" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true"
tools:replace="android:authorities">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="#xml/provider_paths"
tools:replace="android:resource"/>
</provider>
<service
android:name=".service.MyFirebaseMessagingService"
android:exported="false"
android:stopWithTask="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<receiver android:name=".ui.utils.gpsStatusListener.GpsLocationReceiver"
android:exported="true"
tools:node="merge"
tools:ignore="Instantiatable">
<intent-filter>
<action android:name="android.location.PROVIDERS_CHANGED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<provider
android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="com.decathlon.quechuafinder.workmanager-init"
android:exported="false"
tools:node="remove" />
</application>
</manifest>
For an app targeting Android SDK Version 31(Android 12 OS) or above we need to set the android:exported="true" for any of our app's own activity and any 3rd party library's activity in our app's manifest, where ever the <intent-filter... is added.
We faced this issue for auth0 Android SDK.
I am working on android application with parse.com. My Push notifications were working fine, but now suddenly in my project it stops working. I didn't change any thing in my project and on parse server. My Manifest file along with some code snippets are given below.
How can I trace the problem?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.murgency"
android:versionCode="40"
android:versionName="1.8"
>
<uses-sdk android:minSdkVersion="16"
android:targetSdkVersion="20" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.SET_DEBUG_APP"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission
android:name="com.murgency.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.murgency.permission.C2D_MESSAGE" />
<application
android:name="murgency.MUrgencyApplication"
android:allowBackup="true"
android:label="#string/app_name"
android:largeHeap="true"
android:icon="#drawable/icon"
android:theme="#style/AppTheme"
tools:replace="android:icon">
<service android:name="com.appsee.AppseeBackgroundUploader" />
<activity
android:name="murgency.activities.SplashScreen"
android:screenOrientation="portrait"
android:hardwareAccelerated="false"
android:theme="#style/AppTheme"
android:windowSoftInputMode="stateAlwaysHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<data
android:host="open"
android:scheme="MUrgency" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
<receiver
android:name="services.BootReceiver"
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<service android:name="services.ContactService" />
<receiver android:name="receiver.gps.GPSStartReceiver" />
<service android:name="services.gps.GPSService" />
<service
android:name="services.GPSLoggerService"
android:enabled="true"
android:exported="true"
android:permission="android.permission.ACCESS_FINE_LOCATION" >
</service>
<receiver android:name="com.parse.ParseBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
<!-- Custom receiver -->
<receiver
android:name="services.ParsePushReceiver"
android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
<action android:name="com.murgency.UPDATE_STATUS" />
</intent-filter>
<intent-filter>
<action android:name="com.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.OPEN" />
<action android:name="com.parse.push.intent.DELETE" />
</intent-filter>
</receiver>
<!-- GCM -->
<service
android:name="services.GcmIntentService"
android:enabled="true" />
<receiver
android:name="services.GcmBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.RECEIVE" >
<intent-filter android:priority="1" >
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.murgency.UPDATE_STATUS" />
<category android:name="com.murgency" />
</intent-filter>
</receiver>
<receiver
android:name="com.parse.ParsePushBroadcastReceiver"
android:exported="false" >
<intent-filter>
<action android:name="com.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.OPEN" />
<action android:name="com.parse.push.intent.DELETE" />
</intent-filter>
</receiver>
</application>
</manifest>
The Parse hosted service will be retired on January 28, 2017. So you have to migrate your app.
See the Migration Url
Announcement from Parse