我正在尝试检索通知中的小图标
dataset = torchvision.datasets.EMNIST(
path_data,
download=True,
split='balanced',
train=not is_test_data,
transform=torchvision.transforms.Compose([
lambda img: torchvision.transforms.functional.rotate(img, -90),
lambda img: torchvision.transforms.functional.hflip(img),
torchvision.transforms.ToTensor()
])
)
。
我发现NotificationListenerService
函数返回一个notification.getSmallIcon()
。如何从该图标中获得android.graphics.drawable.Icon
?
答案 0 :(得分:2)
您需要在图标上使用loadDrawable
或loadDrawableAsync
,它将返回一个可绘制对象。
loadDrawable
已添加到API级别23public Drawable loadDrawable
中(Context context)
返回一个Drawable
,可用于绘制 该图标内的图片,并在必要时进行构建。取决于 图片类型,这可能不是您要在用户界面上执行的操作 线程,因此请考虑改用loadDrawableAsync。
如下所示
Icon icon = notification.getSmallIcon();
Bitmap bitmap = icon.loadDrawable(context);
然后您可以通过下面的stackoverflow链接将可绘制对象转换为位图 有很多答案如何将drawable转换为Bitmap