以下是阅读通知的简单代码
public void onNotificationPosted(StatusBarNotification sbn) {
String pack = sbn.getPackageName();
Bundle extras = sbn.getNotification().extras;
String title = (String)extras.getCharSequence("android.title");
String text="";
if (extras.getCharSequence("android.text") != null) {
text =(String) extras.getCharSequence("android.text");
Log.d("service1",text);
}
if(text.trim().equals("")) {
if (extras.getCharSequenceArray("android.textLines") != null) {
Log.d("service", "in 1st if");
CharSequence[] charText = extras.getCharSequenceArray("android.textLines");
if (charText.length > 0) {
text = (String) charText[charText.length - 1];
Log.d("service2", text);
}
}
}
if(text.trim().equals("")) {
if (extras.getCharSequence("android.infoText") != null) {
Log.d("service", "in 2nd if");
text = (String) extras.getCharSequence("android.infoText");
Log.d("service2", text);
}
}
该代码适用于白色背景通知。但是,对于黑色背景的通知,我收到text =null
。
我尝试过使用远程视图。但是,它甚至没有阅读白色背景通知
有人可以帮忙吗?
修改: This is the screenshot from my mobile 我在API 21版移动版上检查了此代码。我完全同意电池医生,灰色背景中出现的天气通知,使用远程视图,此方法不会读取这些通知。
我收到BBC news
,Screenshot captured
和4 applications updated
通知。
但是,对于Computer program that can read your mind
和Exercise helps live through your first heart..
的通知,我只收到包名称,标题和文字都为空。