java - studio - widgets motorola
¿Cómo agregar un widget a la pantalla de inicio de Android desde mi aplicación? (3)
Esto fue respondido hace mucho tiempo, pero en caso de que alguien se tope con esta pregunta, pensé que debería proporcionar una respuesta actualizada.
A partir de Android O (API 26), ahora puede anclar widgets al lanzador del usuario desde su aplicación.
Simplemente cree el widget en el archivo de AndroidManifest de su aplicación y use AppWidgetManager para solicitar que el widget se fije al lanzador. Tenga en cuenta que depende del isRequestPinAppWidgetSupported() admitir esta función, por lo que debe llamar al método isRequestPinAppWidgetSupported() de isRequestPinAppWidgetSupported() antes de solicitarlo.
Aquí hay algunos documentos de Google que brindan más detalles: https://developer.android.com/preview/features/pinning-shortcuts-widgets.html#widgets
¡Espero que esto ayude!
Edición: Parece que las páginas de documentación han cambiado desde que publiqué esta respuesta. Aquí hay un enlace más útil que da un ejemplo de código de cómo fijar un widget a un lanzador: https://developer.android.com/guide/topics/appwidgets/#Pinning
Estoy escribiendo una aplicación que debería poder agregar widgets (solo cuadros de texto) a la pantalla de inicio del teléfono del usuario cuando el usuario le indica a mi aplicación que lo haga. ¿Cómo puedo hacer tal cosa?
Sé que puedo agregar un widget de aplicación, pero ¿qué hay de agregar más?
La aplicación de inicio por defecto de AFAIK no es compatible con esto. La razón es que el usuario debe colocar todo en la pantalla de inicio. Permitir colocar widgets desde una aplicación abriría las puertas para que las aplicaciones lleguen a la casa del usuario "spam" con sus widgets "útiles".
No es posible desde una aplicación colocar un widget en la pantalla de inicio. Solo la pantalla de inicio puede agregar widgets de aplicaciones a la pantalla de inicio.
enlaces similares link3 , link3 , link3
Pero puedes ofrecer al usuario que elija el widget de widgetpicker.
Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetID);
startActivityForResult(pickIntent, KEY_CODE);