Android Tv: obtener la lista de canales
He instalado el androidtv-sample-inputs para que pueda falsificar algunas entradas de TV y tener algunos canales y quería obtener información sobre esos canales, sin embargo, cuando la consulta para obtener esa información me sale un cursores vacíos.
Lo que he probado hasta ahora es:
- Android TV RecyclerView interacción con el foco
- ¿Qué calificador de recursos debo utilizar para soportar 1080p, 720p android TV? - Android
- Cómo obtener enfoque para EditText y navegar usando D-pad en Android TV
- Volumen de auriculares de enlace de Android al volumen principal
- Android TV ADT-1 adb puerto de conexión cambiado?
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"); } }
Ya he añadido el permiso de uso y he comprobado que la entrada de TV no es de paso.
<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"/>
¡Gracias por adelantado!
- Implementar y diseñar aplicaciones de Android para TV
- Multiple ListRows para cada encabezado en BrowseFragment - Biblioteca de Leanback
- Recurso no encontrado: Theme.Leanback
- Android Studio / Win8 / ERR_NAME_NOT_RESOLVED
- Utilizar la API de Youtube en Android TV
- Android TV: El elemento de RowsFragment no funciona en pocos casos
- Proyecto AndroidStudio que admite Android y AndroidTV
- Implementación de un cuadro de diálogo de archivo en Android TV Leanback
¿Qué tipo de permiso está usando?
Si su aplicación no es systemOrSignature, sólo puede acceder a sus propios canales y programas desde las consultas al proveedor de TV. Todas las consultas que está realizando se filtran en el nombre del paquete.
Supongo que la información que puedes recuperar de un canal está restringida a lo que es accesible desde TvInputInfo.
Además de los permisos EPG "com.android.providers.tv.xxx" necesarios en el archivo de manifiesto, debe firmar su .apk! De lo contrario, verá todos los TvInput disponibles en su dispositivo, pero ninguno de los canales que componen estos tvInput (y esto, sin ningún error devuelto ;-)). Android Studio proporciona estas características (entrada de menú 'BUILD' y luego 'Generate Signed APK') ver Cómo firmar un archivo androide de apk
- Android Facebook Comparte no mostrar descripción en facebook
- Android – E / Surface: queueBuffer: buffer de cola de errores en SurfaceTexture, -22 crash