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;
グローバル検索がどのように機能するかを確認するためにテスト カーソルを返そうとしていますが、何か間違ったことをしているに違いありません。