Lor*_*pid 5 notifications android
我正在创建一个通知管理应用程序,我想获取其他应用程序显示的通知内容。目前我使用这样的代码:
statusBarNotification.getNotification().extras.getString(Notification.EXTRA_TITLE);
Run Code Online (Sandbox Code Playgroud)
和这个 :
statusBarNotification.getNotification().extras.getString(Notification.EXTRA_TEXT);
Run Code Online (Sandbox Code Playgroud)
阅读通知的标题和文本。但是几个小时后,我找不到获取通知文本附带的图像的方法。例如,Whatsapp 通知中显示的个人资料图片。我知道这不是小图标或大图标,我检查了几次。
因此,如果有人可以以任何方式提供帮助,将不胜感激
我假设您NotificationListenerService用来收听来自其他应用程序的通知。
在您的NotificationService课程中,在 extra 中提取图标资源 IDNotification.EXTRA_SMALL_ICON并访问其他应用程序包资源以获取Drawable.
Notification.EXTRA_PICTURE 包含通知中发送的大图像:
public class NotificationService extends NotificationListenerService {
Context context;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
}
@Override
public void onNotificationPosted(StatusBarNotification statusBarNotification) {
// a notification is posted
String pack = statusBarNotification.getPackageName();
Bundle extras = statusBarNotification.getNotification().extras;
int iconId = extras.getInt(Notification.EXTRA_SMALL_ICON);
try {
PackageManager manager = getPackageManager();
Resources resources = manager.getResourcesForApplication(pack);
Drawable icon = resources.getDrawable(iconId);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
if (extras.containsKey(Notification.EXTRA_PICTURE)) {
// this bitmap contain the picture attachment
Bitmap bmp = (Bitmap) extras.get(Notification.EXTRA_PICTURE);
}
}
@Override
public void onNotificationRemoved(StatusBarNotification statusBarNotification) {
//call when notification is removed
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3461 次 |
| 最近记录: |