我正在開發一個應用程序來讀取Android的活動通知。到目前爲止,我已經成功了,直到我得到EXTRA_SMALL_ICON。我使用下面的一段代碼來檢索應用圖標和大圖標,它們都工作得很好。Android NotificationListenerService獲取EXTRA_SMALL_ICON總是返回null
//做工精細
Drawable appIcon = null;
try {
appIcon = getPackageManager().getApplicationIcon(packageName);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
//做工精細
Bitmap largeIcon = null;
try {
largeIcon = (Bitmap) notification.extras.getParcelable(Notification.EXTRA_LARGE_ICON);
} catch (Exception e) {
e.printStackTrace();
}
//不工作
Bitmap smallIcon = null;
try {
smallIcon = (Bitmap) notification.extras.getParcelable(Notification.EXTRA_SMALL_ICON);
} catch (Exception e) {
e.printStackTrace();
}
獲取SMALL_ICON拋出以下異常。
Key android.icon expected Parcelable but value was a java.lang.Integer. The default value <null> was returned.
W/Bundle: Attempt to cast generated internal exception:
java.lang.ClassCastException: java.lang.Integer cannot be cast to android.os.Parcelable
是的,我試圖得到的通知有一個小圖標集。我做錯了什麼,或者有沒有其他方法可以訪問SMALL_ICON?我無法弄清楚爲什麼。
謝謝!
小圖標作爲繪製資源ID不是位圖通過後,將其更改爲這個
。通知的構建方式相同。 –