私は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経由でバインドするすべての人に渡す必要があります。だから私は、メンバーとしてViewを取り、パーセル可能なクラスインスタンスを返すparcelabaleクラスを書く必要があることを知っています。
パーセルを介してビューインスタンスを書き込む方法がわかりません。助言がありますか? バイト配列を使って遊ぶことができます。誰もビューインスタンスを変換し、バイト配列として書き込む方法を知っていますか?
はあなたがちょうどいつものようにビューを設定するビューの設定とあなたの活動にするために必要なデータを返すようにしようとしたことがありますか?したがって、ビューを渡すことは避けてください。私が見る限り、リソースを返すだけでいいのですよね? –