【发布时间】:2012-07-26 01:18:16
【问题描述】:
我的应用正在使用 Accessibility API 来捕获其他应用生成的通知并对其采取行动。我想添加一个可以取消原始通知(由其他应用程序生成)的功能。
使用通知管理器的常规方法不起作用,因为您必须是创建通知的人才能清除它。辅助功能 API 让我可以读取不同应用的通知,但它是否也允许您清除它?
谢谢!
【问题讨论】:
标签: android api service notifications accessibility
我的应用正在使用 Accessibility API 来捕获其他应用生成的通知并对其采取行动。我想添加一个可以取消原始通知(由其他应用程序生成)的功能。
使用通知管理器的常规方法不起作用,因为您必须是创建通知的人才能清除它。辅助功能 API 让我可以读取不同应用的通知,但它是否也允许您清除它?
谢谢!
【问题讨论】:
标签: android api service notifications accessibility
不,您不能清除其他应用的通知(谢天谢地)。
【讨论】:
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已经定义,可以取消。
【讨论】: