我正在努力使我的Android电视应用程序可以搜索,我正在测试全球搜索。我已经创建了一个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;我只是想返回一个测试光标,看看全局搜索是如何工作的,但我肯定做错了什么。
发布于 2015-05-14 10:42:41
我发现了问题。我认为只需要SearchManager.SUGGEST_COLUMN_TEXT_1、SearchManager.SUGGEST_COLUMN_CONTENT_TYPE和SearchManager.SUGGEST_COLUMN_PRODUCTION_YEAR字段(这是安卓开发者电视指南说的),但SearchManager.SUGGEST_COLUMN_RESULT_CARD_IMAGE也是必需的。如果没有卡片图像,全局搜索就会崩溃,可能是因为试图设置一个空位图。
https://stackoverflow.com/questions/30234055
复制相似问题