我正在尝试从 statusbarService.java 获取通知扩展视图,并通过aidl 服务将其传递给另一个应用程序。
-frameworks/base/services/java/com/android/server/status/StatusBarService.java
private void makeStatusBarView(Context context) {
Resources res = context.getResources();
mRightIconSlots = res.getStringArray(com.android.internal.R.array.status_bar_icon_order);
mRightIcons = new StatusBarIcon[mRightIconSlots.length];
**ExpandedView expanded** = (ExpandedView)View.inflate(context,
com.android.internal.R.layout.status_bar_expanded, null);
}
我希望通过服务存储这个“扩展”视图实例,并将其传递给通过aidl 绑定到服务的任何人。
我写了一个服务类。但我不确定如何将此视图传递给服务实例。要绑定到服务,它必须是活动或服务。StatusBarService.java 不是两者之一。所以我不知道如何将此视图实例传递给服务。
假设如果以某种方式将视图实例传递给服务,我需要通过aidl 将视图实例传递给绑定到它的任何人。所以我知道我需要编写一个以 View 为成员的 parcelable 类并返回 parcelable 类实例。
我不确定如何通过包裹编写视图实例。有什么建议么?我认为可以玩字节数组。有人知道如何转换视图实例并写入字节数组吗?