如何使用辅助功能API更改Android通知

时间:2013-08-19 19:24:28

标签: android notifications

我可以使用Accessablity服务拦截所有通知。这个区块是看到事件的地方:

   @Override
public void onAccessibilityEvent(AccessibilityEvent event) {
    Log.d(tag, "Inside onAccessibilityEvent");
    if (event.getEventType() ==           AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED){
        SqlDb db = new SqlDb(this);
        NotificationObject no = new NotificationObject();
        no.setNoficationPackage(String.valueOf(event.getPackageName()));
        no.setNotificationText(String.valueOf(event.getText().toString()));
        no.setNotificationDTM(new Date());
        db.addNotification(no);
        Log.d(tag, "Saved event");
    }
}

我想要做的是更改通知,使其不被视为未接来电事件。这可以在OS 4.0 +上进行吗?

感谢。

1 个答案:

答案 0 :(得分:0)

另一个应用程序的通知是READ-ONLY。 因此,像“notification.a = b;”这样的代码会导致权限问题。

public void onAccessibilityEvent(AccessibilityEvent event) {
        // TODO Auto-generated method stub
        if (event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) {
            //Do something, eg getting packagename
            final String packagename = String.valueOf(event.getPackageName());
            final String text = String.valueOf(event.getText());

            if(TARGET_PACKAGE.equals(packagename)){
                Notification n = (Notification) event.getParcelableData();
        }
}