Notification Listener for 3rd Party app

I don’t have your code but you could try something like:

If( blahblahblah != null){
//do something
}

1 Like

maybe this is because empty string… this is not the only problem. main is Bind.Notification Permission.
Now I’m tired going to sleep Good Night/Morning
will share code here. then Challenge will be OpenSource…

1 Like

Share the code in a PM with @Ken. When you find a solution, just post it here. Some may find this post useful in the future.

2 Likes

Please Give it try if Possible @Ken @Taifun @hammerhai @vknow360
Now Challenge is OpenSource
Here is Test AIA:NotificationReader.aia (11.3 KB)
JAVA Source Code: NotificationListener.java (5.6 KB)
Also we have to Modify Manifest (Available in above post) using Android Studio Editor Then we able to register app in Special Notification Access Permission.

Here Is Github Repository And Details for this Extension :


Blocks we Got using this:

4 Likes

What is your test result?

1 Like
  1. Android is Denied to give permission :
    BIND_NOTIFICATION_LISTENER_SERVICE
  2. We are able to get Notification access by adding service in manifest
  3. when we call .GetNotificationByPackageName it showing Error:
    Attempt to invoke virtual method ‘java.lang.stringorg.json.JSONArray.toString()’ on a null object reference
  4. GetAllNotification Block returning Empty result may be because of permission

I’m taking a look into this result from the source that you’ve published.

To make updating your source easier from outsiders, create a GitHub Repo from github.com if you’d like. This will clear code up on the community so we don’t have to publish a reply when we update your source.

3 Likes

Here Is Github Repository And Details for this Extension :


Contribute here and give it a try

2 Likes

Hi,
I just saw your NotificationListener project and it seems very interesting. I looked at your code and tested a few things, but yes, it has an authorization problem with Android.
I would love to help you find the problem since I am looking for exactly this feature.
Would you have possibly found a modification so that it works since your last message 2 monthes ago?

2 Likes

you want to modify manifest by using another tool Android Studio Editor v1.3.1 Potable

then you can get permission

problem mentioned here

@akshay_gadekar Because people seem to really want this, I’ve dug in a little more and found notification-listener-service-example/README.md at master · Chagall/notification-listener-service-example · GitHub. You were right for the service, just not the code. I’m going to download your java file from GitHub and add this, if I get anywhere, I will let you know.

Use:

public class NotificationListenerExampleService extends NotificationListenerService {
  
    @Override
    public IBinder onBind(Intent intent) {
        return super.onBind(intent);
    }
  
    @Override
    public void onNotificationPosted(StatusBarNotification sbn){
      // Implement what you want here
    }

    @Override
    public void onNotificationRemoved(StatusBarNotification sbn){
      // Implement what you want here
    }
  }

Nvm, I’ve taken a second look and you already have it. I’ll still try though and make necessary edits as needed…

Edit

I’ve made changes to the source and I think I’ve made some sort of progress. When allowing the Notification Access permission, the app crashes and unbinds the listener (or it just doesn’t work) and holds the app in a frozen like state where whenever you get notifications, the event is still not executed by the OS.

I’ve looked at the logs and there’s no way for me to understand the errors, because there are none. It gives me an error like Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnunHandledKeyEventListenerWrapper> and I looked it up, but I’m not entirely sure what it means.

7 Likes

This say’s all.

1 Like

Thanks Mika, but do I have to add the library?

1 Like

You can’t use libs which depence on “Android X”.

Use this:
https://developer.android.com/reference/android/support/v4/view/ViewCompat

import android.support.v4.view.ViewCompat;

2 Likes

Would I have to go to the Maven repo and add it to the lib folder? Or would it already be included?

1 Like

Should be already inside the sources. No need to add it.

2 Likes

OK, I’ve included it, how would I name the service?

<service android:name="io.kodular.arg6063.NotificationReader" android:label="NotificationAlertAccess" android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
      	  <intent-filter>
            	<action android:name="android.service.notification.NotificationListenerService" />
       	 </intent-filter>
 </service>

Like what would I put in android:label… Would it be the class that I created? Is it even required?

1 Like

Not sure if you really need the label.
Just google it.

But don’t forget that you have to use as name the package name of the app.
Like:

<service android:name=“YOUR_PACKAGE_NAME.NotificationReader”

It must be the location of your created service class

2 Likes

The android:label stands for what it should show as when allowing Notification Access, for example I named mine .Listener and it showed up as .Listener, which means it would be your app name or I think you should be able to leave it empy.

1 Like

It is required this is the name which appear in notification listener service settings like this

This should be same as our app name so user can easily understand. who they are allowing to access notifications.