我正在开发通知侦听器应用程序。在这里,我收到所有通知。但是如何从通知中将挂起的意图转换为byte [],反之亦然。
@Override public void onNotificationPosted(StatusBarNotification sbn) {
System.out.println("Notification_AGS: onNotificationPosted");
if (SharedPreferenceManager.getPrefStoragePermission(context)) {
notificationList.clear();
String packageName = sbn.getPackageName();
PendingIntent pendingIntent = sbn.getNotification().contentIntent
}
}
最佳答案
您可以将PendingIntent
序列化为Parcel
,然后将Parcel
转换为字节数组,如下所示:
PendingIntent pendingIntent = ...
Parcel parcel = Parcel.obtain();
pendingIntent.pendingIntent.writeToParcel(parcel, 0);
byte[] bytes = parcel.marshall();
注意以下几点:
该文档明确指出生成的字节数组
不应将其存储在持久性存储中,因为字节数组是
高度优化的序列化表格,不能保证
可以从字节数组成功创建
Parcel
。关于android - 如何将待处理的 Intent 转换为字节[],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58969021/