前天下午开始弄ETV的那个机顶盒,昨天陆陆续续弄了一些细节,到现在,还缺一个背景图,再调下视觉,应该这个就结束了。梳理一下这次摸索的过程。
(没有硬件工程师给我对接,可恶!)
(没有硬件工程师给我对接,可恶!)
第一步,进去全部应用,设置,更多设置,进去设置需要密码(ETV给:*****),在版本号那里三击,开启开发者模式
第二步,在主页那里开启远程端口,具体方法(ETV给:用遥控器,菜单键,在首页连续按8次)开完界面上没什么变化。
第三步,接网线,黄色口接电脑网线口。
第三步,接网线,黄色口接电脑网线口。
第四步,CMD打开命令行,输入“adb connect 192.168.***.*** ”机顶盒可能有两个IP,一个是路由器的IP,另外一个是本机IP,要本机IP,默认是5555端口
第五步, 开启eclipse,按照正常的流程走。
实际使用中我们需要房间信息,ETV也给了一个设置的源码。
1、导入报错:导入发现报错,原来里面用了android hideAPI,找他们要了对应的库,要了之后也是一堆错误。
2、只能读读代码,发现里面有个设置的东西,看起来是独立的类,看到好像信息是写到“android.os.SystemProperties”下,发现这个是Hide API。
3、用他们给的JAR,来用hide api,一run eclipse挂掉。
4、找到方法,花费了一番力气拿到SystemProperties,按照它放入的key去拿,结果是null。
最后发现原来是写死在sdcard中的一个xml文件。懒得去写,直接把源码复制过来,把无关的东西都注释掉,然后就拿到房间号了。
我们还是有一些操作的,需要上下左右控制,怎么控制呢:
public class MainActivity extends Activity{
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
int keyCode=event.getKeyCode();
if (keyCode==KeyEvent.KEYCODE_DPAD_UP) {
onDebug("UP");
}else if (keyCode==KeyEvent.KEYCODE_DPAD_LEFT) {
onDebug("LEFT");
} else if (keyCode==KeyEvent.KEYCODE_DPAD_RIGHT) {
onDebug("RIGHT");
} else if (keyCode==KeyEvent.KEYCODE_DPAD_DOWN) {
onDebug("DOWN");
} else if (keyCode==KeyEvent.KEYCODE_DPAD_CENTER||keyCode==KeyEvent.KEYCODE_ENTER) {
onDebug("ENTER");
}
return super.dispatchKeyEvent(event);
}
}
最后就是一点布局的细节,在layout那里是可以选择android TV 1080 720,选上对应的,布局方便点