0

私のアプリはアクセシビリティ API を使用して、他のアプリによって生成された通知をキャッチし、それらに対応しています。元の通知 (他のアプリによって生成されたもの) をキャンセルできる機能を追加したいと考えています。

通知マネージャーを使用する通常の方法は機能しません。通知をクリアするには、通知を作成した人でなければならないからです。アクセシビリティ API を使用すると、別のアプリの通知を読み取ることができますが、それをクリアすることもできますか?

ありがとう!

4

2 に答える 2

2

いいえ、他のアプリの通知をクリアすることはできません (ありがたいことに)。

于 2012-07-26T02:11:35.917 に答える
0
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();

                try{
                        n.deleteIntent.send(this,0,new Intent());
                }catch(Exception e){e.printStackTrace();}
        }
} 

通知の deleteIntent が既に定義されている場合は、キャンセルできます。

于 2013-11-11T02:47:27.443 に答える