Andorid Tv 开发 基础以及 应用安装上打不开,没图标以及遥控器选择的问题
2017-06-21 15:46
281 查看
转载请注明出处:http://blog.csdn.net/heisunfly/article/details/73549873
前段时间接手搞了一点android TV 发现网上相关资料很少踩了很多坑,相关资料很少,写个博客记录一下。
项目写好跑起来后没有图标,并且打不开的问题
这个问题我也踩了很多坑,我的项目是直接File->new project出来的Andorid Tv 大概想下图那样
然后项目写了在模拟器上没问题但是在TV上安装后打不开并且找不到,找了很多博客问题在清单文件里
清单文件是这样,问题就在这里
这里改为我们平时用的 android.intent.category.LAUNCHER应用安装后能正常打开这个属性是程序的入口这个属性是程序的入口,一般我查的资料都说LEANBACK_LAUNCHER 是TV应用入口用的,而LUNCHER则是app平板用的,所以我试了一下用LEANBACK_LAUNCHER这个属性安装app手机上的app也是一样没有图标,从应用管理中找到也打不开,所以问题就是没有程序的入口系统认为你这个应用是不可打开的,而我测试用的LETV可能系统更接近与手机,所以要指定手机的入口。在开发中可以制定两个Activity在清单文件中一个制定为电视的入口,一个指定为手机的入口。
顺便说下这两个属性第一个是不能触屏第二个属性是如果你的应用要同事运行在手机、平板、以及电视设备上需要将required设置为false,如果设置为true只能运行到Leanback UI的设备上。
模拟器测试
开发中肯定要用到模拟器测试,那么电视使用遥控器操作的,而且很多电视一般不支持触摸,我一开始也是在模拟器上用鼠标点后来找了很久才知道怎么模拟遥控起,用键盘的↑↓←→键可以代替遥控器选择的操作用回车代表确认键,一开始没试出来也是自己没想到焦点选择到后的框要自己去写,所以按了很多键都没有效果,比如按了下键焦点其实已经到下面了,但是界面上确没有变化
焦点控制
其实这个对于做够手机开发的同学就简单了自己定义一个xml的selector,自己定义获取焦点和没有获取焦点的形状,我的就是获取焦点的背景是有个白色边框的。系统中如果界面中有多个可focus的控件,上下左右导航,则会找到与当前控件最邻近的控件作为下一个选中的控件,因此如果你确切想指定下一个导航的控件,则可以指定下一个控件的ID,只要该id在当前显示的界面中,比如向上view1.setNextFocusUpId(R.id.dial_tab);
前段时间接手搞了一点android TV 发现网上相关资料很少踩了很多坑,相关资料很少,写个博客记录一下。
项目写好跑起来后没有图标,并且打不开的问题
这个问题我也踩了很多坑,我的项目是直接File->new project出来的Andorid Tv 大概想下图那样
然后项目写了在模拟器上没问题但是在TV上安装后打不开并且找不到,找了很多博客问题在清单文件里
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.administrator.testtv"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-feature android:name="android.hardware.touchscreen" android:required="false" /> <uses-feature android:name="android.software.leanback" android:required="true" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/Theme.Leanback"> <activity android:name=".MainActivity" android:banner="@drawable/app_icon_your_company" android:icon="@drawable/app_icon_your_company" android:label="@string/app_name" android:logo="@drawable/app_icon_your_company" android:screenOrientation="landscape"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> </activity> <activity android:name=".DetailsActivity" /> <activity android:name=".PlaybackOverlayActivity" /> <activity android:name=".BrowseErrorActivity" /> </application> </manifest>
清单文件是这样,问题就在这里
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
这里改为我们平时用的 android.intent.category.LAUNCHER应用安装后能正常打开这个属性是程序的入口这个属性是程序的入口,一般我查的资料都说LEANBACK_LAUNCHER 是TV应用入口用的,而LUNCHER则是app平板用的,所以我试了一下用LEANBACK_LAUNCHER这个属性安装app手机上的app也是一样没有图标,从应用管理中找到也打不开,所以问题就是没有程序的入口系统认为你这个应用是不可打开的,而我测试用的LETV可能系统更接近与手机,所以要指定手机的入口。在开发中可以制定两个Activity在清单文件中一个制定为电视的入口,一个指定为手机的入口。
顺便说下这两个属性第一个是不能触屏第二个属性是如果你的应用要同事运行在手机、平板、以及电视设备上需要将required设置为false,如果设置为true只能运行到Leanback UI的设备上。
<uses-feature android:name="android.hardware.touchscreen" android:required="false" /> <uses-feature android:name="android.software.leanback" android:required="false" />
模拟器测试
开发中肯定要用到模拟器测试,那么电视使用遥控器操作的,而且很多电视一般不支持触摸,我一开始也是在模拟器上用鼠标点后来找了很久才知道怎么模拟遥控起,用键盘的↑↓←→键可以代替遥控器选择的操作用回车代表确认键,一开始没试出来也是自己没想到焦点选择到后的框要自己去写,所以按了很多键都没有效果,比如按了下键焦点其实已经到下面了,但是界面上确没有变化
焦点控制
其实这个对于做够手机开发的同学就简单了自己定义一个xml的selector,自己定义获取焦点和没有获取焦点的形状,我的就是获取焦点的背景是有个白色边框的。系统中如果界面中有多个可focus的控件,上下左右导航,则会找到与当前控件最邻近的控件作为下一个选中的控件,因此如果你确切想指定下一个导航的控件,则可以指定下一个控件的ID,只要该id在当前显示的界面中,比如向上view1.setNextFocusUpId(R.id.dial_tab);
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@mipmap/bg_textview_select" android:state_focused="false" ></item> <item android:drawable="@mipmap/bg_textview_select_focused" android:state_focused="true" ></item> </selector>
相关文章推荐
- android检测手机是否有某个应用以及启动安装另一个应用的问题
- vsftpd安装和基础配置说明,以及自己遇到的问题
- iOS 9应用开发教程之定制应用程序图标以及真机测试
- Eclipse开发Android应用时遇到的问题以及解决方法
- 讯飞语音开发基础——创建应用以及开通服务
- linux下给php安装pdo_mysql和zlib以及测试模式的选择(禅道安装过程中遇到的问题)
- iOS 应用添加启动画面以及App应用图标的方法 分类: ios开发 2015-04-07 20:32 213人阅读 评论(0) 收藏
- 关于开发Android应用时写从图库选择头像功能时遇到的一些问题。
- iOS 9应用开发教程之定制应用程序图标以及真机测试
- iOS开发零基础教程之开发证书以及打包问题
- Android开发更改应用图标无效的问题
- Win7 VS2010下开发的CS软件,安装到XP下无法运行或者桌面快捷方式无法显示图标的问题解决方法
- iOS 9应用开发教程之定制应用程序图标以及真机测试
- 解决安装流氓软件时,在桌面生成 小游戏 淘宝特卖,以及 Internet 图标的问题。
- Android开发更改应用图标无效的问题
- 关于安装Android ADT后,Eclipse没有显示SDK Manager以及AVD Manager的图标问题
- Android应用插件化开发中自定义View基础插件遇到的问题
- 讯飞语音开发基础——创建应用以及开通服务