导航:首页 > 编程语言 > androidtv代码

androidtv代码

发布时间:2023-09-18 02:59:37

① Android tv版开发代码中如何取消屏保

1、注册一个BroadcastReceiver,用于接收ACTION_SCREEN_OFF事件。当接收到这个事件时,打开自定义的屏保画面。以下代码为了测试方便,放在MainActivity.java中,也可以根据需要,把代码放入service中。
registerReceiver(mMasterResetReciever,newIntentFilter(Intent.ACTION_SCREEN_OFF)); BroadcastReceiver mMasterResetReciever=newBroadcastReceiver() { publicvoidonReceive(Context context, Intent intent){ try{ Intent i =newIntent(); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.setClass(context, ScreenSaverActivity.class); context.startActivity(i); }catch(Exception e){ Log.i("Output:", e.toString()); } } };

2、完成这一步时,虽然屏幕关闭时,屏保画面被显示,但由于接收的是ACTION_SCREEN_OFF事件,所以屏幕已经变黑了,这个时候就需要强制点亮屏幕。
首先,在AndroidManifest.xml中加上permission 权限:
<uses-permissionandroid:name="android.permission.WAKE_LOCK"/>

以下代码在ScreenSaverActivity.onCreate中
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE); mWakeLock = pm.newWakeLock( PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE,"SimpleTimer");

然后在屏保画面显示时,点亮屏幕。在ScreenSaverActivity.onResume中加入
mWakeLock.acquire();

为了能够在退出屏保时,能够让屏幕可以关闭,我们必须释放WakeLock.故在ScreenSaverActivity.onPause中加入
mWakeLock.acquire();

注意,必须放在onResume中,如放在别的地方。会导致程序无法再次进入屏保,具体原因不详。由于手头只有一个手机,不能进行广泛的测试。
3. 完成第二步后,一般情况下大功告成。按键就可以返回程序。但有时候需要点击屏幕就返回系统。这个时候会发现,无论怎么样点击屏幕,系统都不会有响应,因为此时屏幕已经被锁定。因此,要实现这个功能,在打开屏保时,需要关键屏幕的锁定功能。
首先,在AndroidManifest.xml中加上permission 权限:
<uses-permissionandroid:name="android.permission.DISABLE_KEYGUARD"/>

再次,把以下这段代码加入合适的地方。只要启动屏保时能够被调用到
KeyguardManager mKeyguardManager= (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE); KeyguardLock mKeyguardLock= mKeyguardManager.newKeyguardLock(TAG); mKeyguardLock.disableKeyguard();

当然也可以通过以下代码开启屏幕锁定功能。

② 做Android TV开发,需要用到一个功能,在界面上按 上,右,右三个键,开启大招(启动另一个a

重新onKeyDown方法。

if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER||keyCode == KeyEvent.KEYCODE_ENTER) {

拦截中间键按下

}

keyCode == KeyEvent.KEYCODE_DPAD_UP

拦截上键按下

keyCode == KeyEvent.KEYCODE_DPAD_DOWN

拦截下键按下

keyCode == KeyEvent.KEYCODE_DPAD_LEFT

拦截左键按下

keyCode == KeyEvent.KEYCODE_DPAD_RIGHT

拦截右键按下

keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0

拦截返回键按下

当按下 上下两键时弹出一个popwindow来展示选集,这时弹出来的popwindwo没有焦点,所以在创建popwindow时就要给它设置获得焦 点 mSelectionsWindow.setFocusable(true);这样popwindow里的不管listview还是gridview都能用遥控器上下左右键控制了。

可是这时返回键失效了,不能退出了,因为焦点都在popwindow上了,给popwindow设置setBackgroundDrawable这样点击返回键时popwindow就会消失掉。

如果想让popwindow过个几秒钟自己消失,还要重新onKeyUp 扑捉按键抬起,在按键抬起时给handler发消息就能实现了。

③ android如何在代码里设置布局

//定义一个线性布局
LindearLayouttp=newLindearLayout(this);
//定义一个布局参数类(用于定义Button在线性布局中的参数)
LayoutParamsltp=newLayoutParams(LayoutParams.WARP_CONTENT,LayoutParams.WARP_CONTENT);
Buttonlbt=newButton(this);
tp.addView(lbt,ltp);//将内Button加入到线性布局中。

//但是容不推荐代码里实现,因为android是MVC开发模式,数据操作,UI,代码等实现都是分开写的,这样写的好处你多编点代码就会体会到了。虽然靠纯代码甚至是在一个activity中都可能完成一个app的编写,但是这样就完全没了可维护性了

阅读全文

与androidtv代码相关的资料

热点内容
如何用模块编程绘制蜘蛛网 浏览:70
大搜数据多少钱一条 浏览:530
e盘的文件夹怎么放在桌面上 浏览:426
数控车削编程与加工是什么 浏览:446
金稻的app怎么下载 浏览:216
怎么筛选两列包含数值的数据 浏览:545
reactnative原生开发工具 浏览:998
什么是网络云台 浏览:902
政府pdf文件加水印 浏览:435
linq代码生成 浏览:969
加密光盘源的数据怎么读 浏览:119
配置文件数据文件 浏览:473
钉钉如何将文件转发至qq 浏览:616
js获取table的tr 浏览:518
xp系统网络配置文件在什么位置 浏览:602
word中cad图形打不开 浏览:55
什么是配置管理工具 浏览:803
wps如何扫描文件 浏览:370
微信收费电影网站系统 浏览:62
佛山哪里学编程好 浏览:389

友情链接