Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to remove USE_FULL_SCREEN_INTENT? #1027

Closed
ezequielobreque opened this issue Apr 9, 2024 · 29 comments · Fixed by #1054
Closed

How to remove USE_FULL_SCREEN_INTENT? #1027

ezequielobreque opened this issue Apr 9, 2024 · 29 comments · Fixed by #1054

Comments

@ezequielobreque
Copy link

Hello!
I recently uploaded a version of my application that uses notifee to the Play Store and the Android people made me notice that I was using USE_FULL_SCREEN_INTENT, and that I had until May 31 to solve it. Notice that notifee is adding these permissions to the intermediate files. Is there a way to remove this permission that I really don't think I'm using?

notifee 7.8.2

@ezequielobreque ezequielobreque changed the title how to remove USE_FULL_SCREEN_INTENT How to remove USE_FULL_SCREEN_INTENT? Apr 9, 2024
@RohanRajGautam
Copy link

RohanRajGautam commented Apr 11, 2024

Faced a similar issue with Play Store complaining about FULL_SCREEN_INTENT permission, and removing my app from the Play Store. So, I removed the permission manually from AndroidManifest.xml, and it works now.

<manifest
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools" <= ADD THIS LINE
  package="com.something">
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" tools:node="remove" />

source: https://stackoverflow.com/questions/49025927/react-native-remove-default-android-permissions

@murat-aksoy
Copy link

Faced a similar issue with Play Store complaining about FULL_SCREEN_INTENT permission, and removing my app from the Play Store. So, I removed the permission manually from AndroidManifest.xml, and it works now.

<manifest
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools" <= ADD THIS LINE
  package="com.something">
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" tools:node="remove" />

source: https://stackoverflow.com/questions/49025927/react-native-remove-default-android-permissions

Will notifee work as expected If I remove the permission manually?

@sboo
Copy link

sboo commented May 5, 2024

Faced a similar issue with Play Store complaining about FULL_SCREEN_INTENT permission, and removing my app from the Play Store. So, I removed the permission manually from AndroidManifest.xml, and it works now.

<manifest
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools" <= ADD THIS LINE
  package="com.something">
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" tools:node="remove" />

source: https://stackoverflow.com/questions/49025927/react-native-remove-default-android-permissions

I tried this, but it still seems to show up in the generated Manifest. I would have expected that the project manifest would be leading.

@Muha-coinmotion
Copy link

I am also experiencing the same issue with my notifee configuration. I am not using asForgroundService and the category is Message. However, I can still see the USE_FULL_SCREEN_INTENT permission in the merged Manifest file.

 await notifee
            .displayNotification({
                id: messageId,
                title: title,
                body: body,
                data: {
                    deepLink: deepLink,
                },
                android: {
                    channelId: pushNotificationChannels.id,
                    groupSummary: true,
                    smallIcon: smallIcon ? smallIcon : 'ic_notification',
                    timestamp: Date.now() - 480000,
                    showTimestamp: true,
                    showChronometer: true,
                    // pressAction is needed if you want the notification to open the app when pressed
                    pressAction: {
                        id: 'default',
                    },
                    category: AndroidCategory.MESSAGE,
                    asForegroundService: false,
                },
                ios: {
                    critical: true,
                    sound: 'default',
                    // iOS > 12
                    // play at 90% sound volume
                    criticalVolume: 0.9,
                },
            })
            .catch((e) => {
                console.log(
                    'Error in pushNotificationController notifee.displayNotification',
                    e,
                );
            });

Please let me know how to remove the USE_FULL_SCREEN_INTENT permission, and if I remove it manually, will it affect the functionality of notifee.

@taylorkline
Copy link

Faced a similar issue with Play Store complaining about FULL_SCREEN_INTENT permission, and removing my app from the Play Store. So, I removed the permission manually from AndroidManifest.xml, and it works now.

<manifest
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools" <= ADD THIS LINE
  package="com.something">
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" tools:node="remove" />

source: https://stackoverflow.com/questions/49025927/react-native-remove-default-android-permissions

Confirming that this worked, android/app/build/outputs/logs/manifest-merger-release-report.txt shows that the USE_FULL_SCREEN_INTENT is REJECTED

Will need to test on Android 14 and Android 12 or under to confirm this causes no actual issues.

@radko93
Copy link

radko93 commented May 24, 2024

I tested on Android 14 and foreground service works.

@walterholohan
Copy link

walterholohan commented Jun 2, 2024

Thanks @taylorkline @RohanRajGautam you saved us. @mikehardy will this library be updated to handle this change?

@anatooly
Copy link

anatooly commented Jun 3, 2024

In my case I use only one function of library

 notifee.getBadgeCount().then(count => {
      if (count) {
        notifee.setBadgeCount(0)
      }
 }

and all application not approve because use this USE_FULL_SCREEN_INTENT permission :-)

@murat-aksoy
Copy link

Faced a similar issue with Play Store complaining about FULL_SCREEN_INTENT permission, and removing my app from the Play Store. So, I removed the permission manually from AndroidManifest.xml, and it works now.

<manifest
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools" <= ADD THIS LINE
  package="com.something">
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" tools:node="remove" />

source: https://stackoverflow.com/questions/49025927/react-native-remove-default-android-permissions

Confirming that this worked, android/app/build/outputs/logs/manifest-merger-release-report.txt shows that the USE_FULL_SCREEN_INTENT is REJECTED

Will need to test on Android 14 and Android 12 or under to confirm this causes no actual issues.

Hello,
I did the same but I do not see that permission is rejected in the manifest log.
When I upload my .aab file to the store, the warning still exists.

Could It be cache?

Thanks.

@MohsinAtArbisoft
Copy link

MohsinAtArbisoft commented Jun 3, 2024

Faced a similar issue with Play Store complaining about FULL_SCREEN_INTENT permission, and removing my app from the Play Store. So, I removed the permission manually from AndroidManifest.xml, and it works now.

<manifest
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools" <= ADD THIS LINE
  package="com.something">
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" tools:node="remove" />

source: https://stackoverflow.com/questions/49025927/react-native-remove-default-android-permissions

Confirming that this worked, android/app/build/outputs/logs/manifest-merger-release-report.txt shows that the USE_FULL_SCREEN_INTENT is REJECTED

Will need to test on Android 14 and Android 12 or under to confirm this causes no actual issues.

I also did the same but google play store still rejecting my app due to use of Full-screen intent permission.

Screenshot 2024-06-03 at 2 54 48 PM

My android/app/build/outputs/logs/manifest-merger-release-report.txt looks like

UmRAsLoE

@mars-lan
Copy link
Contributor

mars-lan commented Jun 3, 2024

Faced a similar issue with Play Store complaining about FULL_SCREEN_INTENT permission, and removing my app from the Play Store. So, I removed the permission manually from AndroidManifest.xml, and it works now.

<manifest
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools" <= ADD THIS LINE
  package="com.something">
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" tools:node="remove" />

source: https://stackoverflow.com/questions/49025927/react-native-remove-default-android-permissions

Confirming that this worked, android/app/build/outputs/logs/manifest-merger-release-report.txt shows that the USE_FULL_SCREEN_INTENT is REJECTED
Will need to test on Android 14 and Android 12 or under to confirm this causes no actual issues.

I also did the same but google play store still rejecting my app due to use of Full-screen intent permission.

Screenshot 2024-06-03 at 2 54 48 PM My `android/app/build/outputs/logs/manifest-merger-release-report.txt` looks like UmRAsLoE

I can confirm that #1027 (comment) works as expected. You can see the merged manifest in android/app/build/intermediates/merged_manifest.

The message on the Play Store is super confusing. If you click into it, you'll see that the declaration is for existing bundles, not the new bundle you're trying to upload. However, you can't proceed with the new upload until the declaration is made.

@foreteesCaddie1
Copy link

This works. Thank you all.

@AronBe
Copy link

AronBe commented Jun 5, 2024

If anyone is wondering how to do it in Expo, you can simply set in android object:
blockedPermissions: ['android.permission.USE_FULL_SCREEN_INTENT'],

List of permissions to block in the final AndroidManifest.xml. This is useful for removing permissions that are added by native package AndroidManifest.xml files which are merged into the final manifest. Internally this feature uses the tools:node="remove" XML attribute to remove permissions.

@fmendez89
Copy link

fmendez89 commented Jun 5, 2024

If anyone is wondering how to do it in Expo, you can simply set in android object: blockedPermissions: ['android.permission.USE_FULL_SCREEN_INTENT'],

List of permissions to block in the final AndroidManifest.xml. This is useful for removing permissions that are added by native package AndroidManifest.xml files which are merged into the final manifest. Internally this feature uses the tools:node="remove" XML attribute to remove permissions.

I added to the app.json the android.permission.USE_FULL_SCREEN_INTENT ,but when I uploaded de aab file, it stills shows the android.permission.USE_FULL_SCREEN_INTENT permission on the list of permissions.
Strange.

Do I need anything else? prebuild?

EDIT: yep, a prebuild is needed

@pke
Copy link

pke commented Jun 20, 2024

Will this permission be removed from the notifee manifest now? It does not seem to be required for it to function?

@jinookoo
Copy link

jinookoo commented Jun 21, 2024

If anyone is wondering how to do it in Expo, you can simply set in android object: blockedPermissions: ['android.permission.USE_FULL_SCREEN_INTENT'],

List of permissions to block in the final AndroidManifest.xml. This is useful for removing permissions that are added by native package AndroidManifest.xml files which are merged into the final manifest. Internally this feature uses the tools:node="remove" XML attribute to remove permissions.

I added to the app.json the android.permission.USE_FULL_SCREEN_INTENT ,but when I uploaded de aab file, it stills shows the android.permission.USE_FULL_SCREEN_INTENT permission on the list of permissions. Strange.

Do I need anything else? prebuild?

EDIT: yep, a prebuild is needed

Did you solved? the aab bundle still has permission..
file: manifest-merger-release-report.txt has follow lines

ADDED from project/android/app/src/main/AndroidManifest.xml:11:3-98
REJECTED from [app.notifee:core:202108261754] ~/.gradle/caches/transforms-4/c28e4249bb622db06eef1ba986aafe27/transformed/jetified-core-202108261754/AndroidManifest.xml:16:5-81
	tools:node
		ADDED from project/android/app/src/main/AndroidManifest.xml:11:77-96
	android:name
		ADDED from project/android/app/src/main/AndroidManifest.xml:11:20-76

even if set the below manifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
...
  <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" tools:node="remove"/>
...

@fmendez89
Copy link

If anyone is wondering how to do it in Expo, you can simply set in android object: blockedPermissions: ['android.permission.USE_FULL_SCREEN_INTENT'],

List of permissions to block in the final AndroidManifest.xml. This is useful for removing permissions that are added by native package AndroidManifest.xml files which are merged into the final manifest. Internally this feature uses the tools:node="remove" XML attribute to remove permissions.

I added to the app.json the android.permission.USE_FULL_SCREEN_INTENT ,but when I uploaded de aab file, it stills shows the android.permission.USE_FULL_SCREEN_INTENT permission on the list of permissions. Strange.
Do I need anything else? prebuild?
EDIT: yep, a prebuild is needed

Did you solved? the aab bundle still has permission.. file: manifest-merger-release-report.txt has follow lines

ADDED from project/android/app/src/main/AndroidManifest.xml:11:3-98
REJECTED from [app.notifee:core:202108261754] ~/.gradle/caches/transforms-4/c28e4249bb622db06eef1ba986aafe27/transformed/jetified-core-202108261754/AndroidManifest.xml:16:5-81
	tools:node
		ADDED from project/android/app/src/main/AndroidManifest.xml:11:77-96
	android:name
		ADDED from project/android/app/src/main/AndroidManifest.xml:11:20-76

even if set the below manifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
...
  <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" tools:node="remove"/>
...

When I run the expo prebuild it removed the permission from the manifest and when uploaded the aab, it showed that the permission was effectively removed in the Play Console.

@FURY-PERSON
Copy link

If anyone is wondering how to do it in Expo, you can simply set in android object: blockedPermissions: ['android.permission.USE_FULL_SCREEN_INTENT'],

List of permissions to block in the final AndroidManifest.xml. This is useful for removing permissions that are added by native package AndroidManifest.xml files which are merged into the final manifest. Internally this feature uses the tools:node="remove" XML attribute to remove permissions.

I added to the app.json the android.permission.USE_FULL_SCREEN_INTENT ,but when I uploaded de aab file, it stills shows the android.permission.USE_FULL_SCREEN_INTENT permission on the list of permissions. Strange.
Do I need anything else? prebuild?
EDIT: yep, a prebuild is needed

Did you solved? the aab bundle still has permission.. file: manifest-merger-release-report.txt has follow lines

ADDED from project/android/app/src/main/AndroidManifest.xml:11:3-98
REJECTED from [app.notifee:core:202108261754] ~/.gradle/caches/transforms-4/c28e4249bb622db06eef1ba986aafe27/transformed/jetified-core-202108261754/AndroidManifest.xml:16:5-81
	tools:node
		ADDED from project/android/app/src/main/AndroidManifest.xml:11:77-96
	android:name
		ADDED from project/android/app/src/main/AndroidManifest.xml:11:20-76

even if set the below manifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
...
  <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" tools:node="remove"/>
...

This logs looks correct, the final androidManifest will not have USE_FULL_SCREEN_INTENT.
To check this try to upload bundle to the Play Market and go thought bundle details (App bundle explorer). Here you can find all permissions that you are using in your app.

Copy link

Hello 👋, to help manage issues we automatically close stale issues.

This issue has been automatically marked as stale because it has not had activity for quite some time.Has this issue been fixed, or does it still require attention?

This issue will be closed in 15 days if no further activity occurs.

Thank you for your contributions.

@taylorkline
Copy link

This appears to be work-around-able but not fixed.

@gagtic
Copy link

gagtic commented Jul 31, 2024

Hi, having the same issue, can someone confirm if the library works fine after we remove the permission?

@MohsinAtArbisoft
Copy link

@gagtic the library works fine unless you have full screen notifications. (Alarm, calls etc)

@taylorkline
Copy link

@gagtic the library works fine unless you have full screen notifications. (Alarm, calls etc)

Confirmed on our end as well, we tested iOS and Android both with foreground and background notifications, no issues.

@pke
Copy link

pke commented Jul 31, 2024

What is s fullscreen notification? How is it triggered?

@MohsinAtArbisoft
Copy link

What is s fullscreen notification? How is it triggered?

Full Screen Notifications are notifications that cover the whole screen. Your app might need to display an urgent, time-sensitive message, such as an incoming phone call or a ringing alarm. In these situations, you can associate a full-screen intent with your notification.

When the notification is invoked, users see one of the following, depending on the device's lock status:

  • If the user's device is locked, a full-screen activity appears, covering the lockscreen.
  • If the user's device is unlocked, the notification appears in an expanded form that includes options for handling or dismissing the notification.

Copy link

Hello 👋, to help manage issues we automatically close stale issues.

This issue has been automatically marked as stale because it has not had activity for quite some time.Has this issue been fixed, or does it still require attention?

This issue will be closed in 15 days if no further activity occurs.

Thank you for your contributions.

@hackily
Copy link

hackily commented Aug 30, 2024

This issue still exists. Will try the workaround

@hochonin93
Copy link

This works for me
"android": {
"blockedPermissions": [
"android.permission.USE_FULL_SCREEN_INTENT"
]
},

mikehardy pushed a commit to exzos28/notifee that referenced this issue Sep 11, 2024
…manifest for Android 14 compat (invertase#1027)

BREAKING CHANGE: Android 14 no longer allows this by default so no longer include by default. Manually add it if you need it.
mikehardy pushed a commit that referenced this issue Sep 11, 2024
…manifest for Android 14 compat (#1027)

BREAKING CHANGE: Android 14 no longer allows this by default so no longer include by default. Manually add it if you need it.
@lakshayasachdeva
Copy link

This is working. Those who are struggling might be adding it to the wrong manifest file. It has to be added in the main Manifest file i.e. android/app/src/main/AndroidManifest.xml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.