Android Tv: получите список каналов

Я установил androidtv-sample-input, чтобы я мог подделывать некоторые входы Tv и иметь некоторые каналы, и я хотел получить информацию об этих каналах, однако, когда я запрашиваю эту информацию, я получаю пустые курсоры.

Я пробовал до сих пор:

TvInputManager tv = (TvInputManager)getApplicationContext().getSystemService(Context.TV_INPUT_SERVICE); List<TvInputInfo> list = tv.getTvInputList(); String[] projection = { TvContract.Channels._ID, TvContract.Channels.COLUMN_DISPLAY_NUMBER }; ContentResolver cr = getContentResolver(); Iterator<TvInputInfo> it = list.iterator(); while(it.hasNext()) { TvInputInfo aux = it.next(); Uri uri = TvContract.buildChannelsUriForInput(aux.getId()); Log.d("TAG", uri.toString()); Log.d("TAG", aux.toString()); Cursor cur = cr.query(uri, projection, null, null ,null); Log.d("TAG", cur.toString()); if(cur.moveToFirst()) { Log.d("TAG", "not empty cursors"); } } 

Я уже добавил разрешение на использование, и я проверил, что вход tv не проходит.

 <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA" /> <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" /> <uses-permission android:name="com.android.provierts.tv.permission.ACCES_ALL_EPG_DATA"/> 

Заранее спасибо!

Какое разрешение вы используете?

Если ваше приложение не является systemOrSignature, вы можете получать доступ только к своим каналам и программам от запросов к поставщику ТВ. Все запросы, которые вы делаете, фильтруются по имени вашего пакета.

Я предполагаю, что информация, которую вы можете получить с канала, ограничена тем, что доступно из TvInputInfo.

В дополнение к «com.android.providers.tv.xxx» разрешениям EPG, необходимым в файле манифеста, вы должны подписать свой .apk! В противном случае вы увидите все TvInput, доступные на вашем устройстве, но ни один из каналов, составляющих этот tvInput (и это, без каких-либо ошибок, возвращается ;-)). Android Studio предоставляет эти функции (запись «BUILD» в меню «Generate Signed APK») см. В разделе Как подписать файл андроида apk