我想从statusbarService.java中获取通知展开视图,并通过aidl服务将其传递给另一个应用程序。如何通过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将视图实例传递给绑定它的任何人。所以我知道我需要编写一个parcelabale类,它将View作为成员并返回parcelable类实例。
我不知道如何通过parcel编写视图实例。有什么建议么? 我认为可以使用字节数组。任何人都知道如何转换视图实例并写入字节数组?
你有没有试图返回你需要的视图,并在您的活动只是设置视图像往常一样设置数据?因此,你避免通过视图。据我所见,你只需要返回资源,对吧? – 2011-09-04 17:14:15