This module demonstrates how to build Android AppWidgets with:
The new set of APIs allows an application to build more engaging and beautiful widgets. Use this
sample together with the
App widget guides
.
- Android 12 (API level 31)
- Android Studio Chipmunk or newer
The sample contains 3 type of widgets:
- ToDo list: showcasing how to create a list of items
- Buttons: showcasing how to use the new CompoundedButtons and handle click events
- Weather: showcasing a "real-life" weather widget.
Those are implemented in two packages:
- rv
for RemoteViews implementation
- glance
for Glance implementation
In addition, the
AppWidgets.kt
showcases how to request the launcher to "pin" an appwidget.
More showcasing resources in the
screenshots folder
When creating a new run configuration, it's important to ensure that the widget is recreated without
launching a new activity. Follow these steps to do so:
- In Android Studio, select
Run > Edit Configurations
.
- In the
Run/Debug Configurations
dialog, select
Always install with package manager...
.
- Under
Launch Options
, in the
Launch
menu, select
Nothing
.
This will ensure that the widget is recreated but no activity is launched.
If you've found an error in this sample, please file an issue at
https://github.com/android/user-interface
.
For API-related issues, please file any bugs using the following links:
Copyright 2023 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.