Android4: HDMI system in ICS


Android4.0 frameworkのデフォルトではhdmi、ワークフローがサポートされています.
HDMI状態が変化するとdriverはUevent“DEVCATH=/devices/virtual/switch/HDmi”を通じてシステムに報告する
-->
システムは、PhoneWindowManagerでUeventObserverからステータスを取得し、送信します.
            Intent intent = new Intent(ACTION_HDMI_PLUGGED);             intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);             intent.putExtra(EXTRA_HDMI_PLUGGED_STATE, plugged);             mContext.sendStickyBroadcast(intent);
その他のアプリケーションへ
-->
アプリケーションでbroadcast ACTIONを受信するHDMI_PLUGGED対応処理
では、Hdmiシステムをandroidに一致させるにはどうすればいいのでしょうか.
1) kernel
Hdmi driverでswtichノードを作成する必要があります.
/sys/class/switch/hdmi/name
/sys/class/switch/hdmi/state
static struct switch_dev sdev = {	
	.name = "hdmi",
	};	

// driver register
switch_dev_register(&sdev);

// hdmi plugin
switch_set_state(&sdev, 1);

// hdmi unplug
switch_set_state(&sdev, 0);

2)frameworkで
処理モード切替、WindowManagerPolicyを送信する.ACTION_HDMI_PLUGGED
3)appで
処理broadcast WindowManagerPolicy.ACTION_HDMI_PLUGGED