所以我遵循了 android tv 文档并从这里下载了示例应用程序:
https://github.com/googlesamples/androidtv-Leanback
我让它在实际的 nexus 设备上运行,并且大多数应用程序都运行良好。我最感兴趣的部分对我不起作用。
当我尝试在主屏幕中使用谷歌搜索搜索某些内容时,我根本没有从leanback 示例应用程序中获得任何搜索结果,并且我在来自示例应用程序的 logcat 中看到以下错误。
1822-1838/com.example.android.leanback E/JavaBinder﹕ *** Uncaught remote exception! (Exceptions are not yet supported across processes.)
android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
at android.database.AbstractCursor.checkPosition(AbstractCursor.java:426)
at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
at android.database.AbstractWindowedCursor.getType(AbstractWindowedCursor.java:130)
at com.example.android.leanback.PaginatedCursor.<init>(PaginatedCursor.java:65)
at com.example.android.leanback.VideoDatabase.query(VideoDatabase.java:170)
at com.example.android.leanback.VideoDatabase.getWordMatch(VideoDatabase.java:150)
at com.example.android.leanback.VideoContentProvider.getSuggestions(VideoContentProvider.java:112)
at com.example.android.leanback.VideoContentProvider.query(VideoContentProvider.java:85)
at android.content.ContentProvider.query(ContentProvider.java:950)
at android.content.ContentProvider$Transport.query(ContentProvider.java:210)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
at android.os.Binder.execTransact(Binder.java:446)
我在自己的应用程序中遵循了这个示例,并且我得到了类似的错误以及其他错误,因为我确定我没有以正确的方式连接所有内容。如果有人进入可搜索的应用程序内容,我将不胜感激有关使其正常工作的一些输入。
编辑:
进行一些调试后,我可以看到放入 paginatedCursor 的光标始终为空。它可能与查询格式化的方式有关。我现在正在玩查询构建,如果我让它工作,我会回复。