In recent updates, Google Play Console has implemented changes regarding the Android / Flutter / React native USE_FULL_SCREEN_INTENT permission for Android apps. If your app utilizes this permission, you might have received a notice stating that starting May 31, 2024, some apps may no longer be eligible to have this permission pre-granted at install. This means that apps not eligible or approved must request permission from users to launch activities with full-screen intent. Failure to comply could result in app crashes during use.
Understanding the Issue of Android / Flutter / React Native USE_FULL_SCREEN_INTENT Permission
The Android / Flutter / React Native USE_FULL_SCREEN_INTENT permission allows apps to launch activities with a full-screen intent, providing an immersive experience for users. However, due to security and user experience concerns, Google has updated its policies requiring apps to explicitly request this permission from users rather than having it pre-granted.
Checking Eligibility for USE_FULL_SCREEN_INTENT Permission
When facing this notice from Google Play Console, it’s crucial to assess whether your app truly needs full-screen intent functionality as part of its core user experience. Apps that provide essential features or services directly benefiting from immersive full-screen activities may still be eligible, provided they meet Google’s criteria.
Fixing the Issue
If your app received a notice and needs to comply with the updated policy, follow these steps to remove the USE_FULL_SCREEN_INTENT permission from your AndroidManifest.xml:
Locate your AndroidManifest.xml: This file is typically found in the app/src/main directory of your Android project.
2. Edit AndroidManifest.xml: Add the following namespace declaration to the <manifest> tag if it’s not already present:
xmlns:tools="http://schemas.android.com/tools"
Remove USE_FULL_SCREEN_INTENT permission: Locate the <uses-permission> tag with android.permission.USE_FULL_SCREEN_INTENT and add tools:node=”remove” attribute to it:
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" tools:node="remove" />
So your changed code will be like this:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" ### ADD THIS STATEMENT>
// some content ...
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" tools:node="remove" /> ### ADD THIS STATEMENT
This tells the build tools to remove this permission during the build process, effectively ensuring that the permission is not included in the final APK.
4. Rebuild and Test: After making these changes, rebuild your app and thoroughly test its functionality, especially activities that previously used full-screen intent.
Now rerelease the app.
After applying the above strategy, if you face the same issues then follow this:
- Cleared the error by deleting the pending release from Google Play and re-deploying. Now you can publish again from the build server without manual intervention and with USE_FULL_SCREEN_INTENT removed.
Conclusion
By following these steps, you ensure compliance with Google Play Console’s updated policies regarding the USE_FULL_SCREEN_INTENT permission. It’s essential to review your app’s core functionality and user experience to determine if requesting full-screen intent permission manually aligns with your app’s purpose. This proactive approach not only prevents potential app crashes but also maintains a smooth user experience on Android devices.