【发布时间】:2015-07-25 21:01:28
【问题描述】:
我正在尝试使我的 Android TV 应用可搜索,并且我正在测试全局搜索。我创建了一个 ContentProvider,当我搜索某些内容时会调用它的查询方法。当我填充一个游标并返回它时,问题就出现了,在那一刻,全局搜索崩溃了,而 LogCat 对此一无所知。我在本节中的代码是这样的:
MatrixCursor matrixCursor = new MatrixCursor(new String[]{
"_id",
SearchManager.SUGGEST_COLUMN_TEXT_1,
SearchManager.SUGGEST_COLUMN_CONTENT_TYPE,
SearchManager.SUGGEST_COLUMN_PRODUCTION_YEAR,
SearchManager.SUGGEST_COLUMN_INTENT_ACTION,
SearchManager.SUGGEST_COLUMN_INTENT_DATA,
SearchManager.SUGGEST_COLUMN_INTENT_DATA_ID
});
matrixCursor.addRow(new Object[]{
1,
"movie 1",
"video/mp4",
2014,
Intent.ACTION_SEARCH,
"content://myauthority/videos/",
1
});
matrixCursor.addRow(new Object[]{
2,
"video 2",
"video/mp4",
2013,
Intent.ACTION_SEARCH,
"content://myauthority/videos/",
2
});
matrixCursor.addRow(new Object[]{
2,
"video 3",
"video/mp4",
2012,
Intent.ACTION_SEARCH,
"content://myauthority/videos/",
3
});
return matrixCursor;
我只是想返回一个测试光标来看看全局搜索是如何工作的,但我一定是做错了什么。
【问题讨论】:
-
我建议使用
BaseColumns._ID而不是字符串_id。 -
如果崩溃了,那么回溯是什么?
-
BaseColumns._ID更正确,但这不是问题所在。 LogCat 中没有异常跟踪,所以我不知道我遇到了什么样的错误。 -
那么它怎么会在没有回溯的情况下崩溃呢?你怎么知道它崩溃了?
-
嗯,我认为它崩溃了,因为没有显示其他应用程序全局搜索的任何结果,而是系统返回到 Leanback 启动器。
标签: android television android-tv