电信ETV 机顶盒 开发

前天下午开始弄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,选上对应的,布局方便点

你可能感兴趣的:(android,机顶盒,tv)