我正在开发通知侦听器应用程序。在这里,我收到所有通知。但是如何从通知中将挂起的意图转换为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/

10-10 09:13