Estoy tratando de leer la lista de widgets de la pantalla de inicio disponible en Android. puedo rellenar una cuadrícula utilizando la lista de aplicaciones disponibles utilizando¿Cómo obtener la lista de widgets instalados?
Intent myIntent = new Intent(Intent.ACTION_MAIN, null);
myIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> appsInfo = MyActivity.getPackageManager().queryIntentActivities(myIntent, 0);
y que cada iteración a través de ResolveInfo.
¿Cómo puedo hacer lo mismo con los widgets de la pantalla de inicio disponibles? Me gustaría llenar una cuadrícula con la misma lista que aparece, sigue tocando la pantalla y seleccionando "widget" en la ventana emergente que aparece.
Muchas gracias! Esto lo haces! – lorenzoff
Esto lanzará en algún momento android.os.TransactionTooLargeException. No puedo entender por qué ... –
@Bobbobbington: Eso sucedería si hay muchos 'AppWidgetProviders' en el dispositivo. Hay un límite de 1MB en todas las operaciones IPC simultáneas de su proceso, por lo que si el resultado de 'getInstalledProviders()' es más de 1MB, obtendrá esta excepción. Incluso si la lista 'getInstalledProviders()' es más pequeña, si por casualidad lo llama mientras está sucediendo algún otro IPC en su proceso (y consumiendo parte del límite de 1 MB), obtendrá esta excepción. – CommonsWare