0
我的應用程序使用輔助功能API來捕獲其他應用程序生成的通知並對其執行操作。我想添加一個功能,可以取消原始通知(由其他應用程序生成)。通過輔助功能API清除其他應用程序的通知
通常使用通知管理器的方法將不起作用,因爲您必須是創建通知才能清除它的人。可訪問性API讓我可以閱讀其他應用程序的通知,但它是否允許您清除它?
謝謝!
我的應用程序使用輔助功能API來捕獲其他應用程序生成的通知並對其執行操作。我想添加一個功能,可以取消原始通知(由其他應用程序生成)。通過輔助功能API清除其他應用程序的通知
通常使用通知管理器的方法將不起作用,因爲您必須是創建通知才能清除它的人。可訪問性API讓我可以閱讀其他應用程序的通知,但它是否允許您清除它?
謝謝!
不,你不能清除其他應用程序的通知(幸好)。
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,可以取消它。