我想从通知栏中获取我的Android中的 whatsapp消息的数据是否有可能获得此
答案 0 :(得分:4)
您需要通过扩展NotificationListenerService
来创建服务来收听传入的通知,其中您将有一个方法回调:
@Override
public void onNotificationPosted(StatusBarNotification sbn) { .... }
您将获得该特定通知中的所有数据。
如果您只想要WhatsApp通知,则可以添加过滤器
它与包名称匹配,如:sbn.getPackageName().matches("com.whatsapp")
Here是有关StatusBarNotification
的更多信息要获取通知的标题/内容(消息),您需要从包Bundle bundle = statusBarNotification.getNotification().extras;
中提取它们,您可以使用以下内容从包中提取消息:
private String getDataFromBundle(Bundle bundle) {
Object data = bundle.get("android.bigText");
if (data == null) {
data = bundle.get("android.text");
}
return data == null? "" :data.toString();
}
PS:不要忘记在清单中注册您的服务..