更新时间:2021-07-30 09:14:27
有可能追上消息/通知用的辅助服务,看看这个。
It's possible to catch Messages/Notifications with an Accessibility Service, have a look at this.
您可以扩展类AccessibilityService$c$c>并重写方法 onAccessibilityEvent()
来实现这样的:
You can extend the class AccessibilityService
and override the method onAccessibilityEvent()
to implement something like this:
public void onAccessibilityEvent(AccessibilityEvent event) {
if(event.getEventType() != AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED)
return; // event is not a notification
String sourcePackageName = (String)event.getPackageName();
Parcelable parcelable = event.getParcelableData();
if(parcelable instanceof Notification){
// Statusbar Notification
}
else{
// something else, e.g. a Toast message
String log = "Message: "+event.getText().get(0)+" [Source: "+sourcePackageName+"]";
// write `log` to file...
}
}
注:我在Android 2.2这没有工作(它似乎并没有赶上祝酒词),但它的工作在Android 4.0
Note: This didn't work for me on Android 2.2 (it doesn't seem to catch Toasts), but it worked on Android 4.0.