tipos - ¿Es posible mostrar el widget solo para una determinada versión de Android?
programacion android pdf 2018 (2)
Puedes hacerlo con el componentEnableSetting. Simplemente deshabilita el widget que no quieres que aparezca en la lista. El cambio se activará después de reiniciar el teléfono.
Context context = getApplicationContext();
String str1 = "org.classname.to.widget.provider";
ComponentName componentName = new ComponentName(context, str1);
PackageManager packageManager = getPackageManager();
int versioncode = Integer.valueOf(android.os.Build.VERSION.SDK);
//enable widget
packageManager.setComponentEnabledSetting(componentName, 1, 1);
//disable widget
packageManager.setComponentEnabledSetting(componentName, 2, 1);
¿Es posible mostrar el widget en el cuadro de diálogo "Agregar a la pantalla de inicio> Widgets" solo para una determinada versión de Android sin cargar dos APK y asignar los números de versión de SDK adecuados?
Tengo una manera de hacerlo sin ningún código, por ejemplo:
En su directorio de res / values cree un archivo bools.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <bool name="honeycombOrAbove">false</bool> </resources>
Cree un directorio de valores-v11 (para panal o valores superiores), copie el archivo y establezca el valor en verdadero.
Luego, en el manifiesto para el widget widget use: android: enabled = "@ bool / honeycombOrAbove". También lo usé en la actividad de configuración para el widget.
Esto significa que el widget está deshabilitado en el momento de la instalación.