2
在kpbird blog的帮助下,我使用NotificationListenerService来捕获通知。但是我无法提取图标的绘制。我也通过this,但事情并没有清除给我。请帮忙。如何获取其他应用程序的通知图标?
在kpbird blog的帮助下,我使用NotificationListenerService来捕获通知。但是我无法提取图标的绘制。我也通过this,但事情并没有清除给我。请帮忙。如何获取其他应用程序的通知图标?
要获得其他应用程序图标,只需获取该应用程序的包名并使用下面的代码即可。您将从通知实例获取软件包名称。
String pack= "com.whatsapp" // ex. for whatsapp;
Context remotePackageContext = null;
Bitmap bmp = null;
try {
remotePackageContext = getApplicationContext().createPackageContext(pack, 0);
Drawable icon = remotePackageContext.getResources().getDrawable(id);
if(icon !=null) {
bmp = ((BitmapDrawable) icon).getBitmap();
}
} catch (Exception e) {
e.printStackTrace();
}
id从哪里来? – Besnik
这里'id'是你可以从通知对象获得的图标资源ID。 –
例如: - Drawable icon = remotePackageContext.getResources()。getDrawable(notification.icon); –