1.创建AppWidget
AppWidget和Launcher,在早期Android被用的很泛滥。最近产品有需求,要给应用加快捷入口,想起来可以用AppWidget。
创建AppWidget可以参考官方文档:
https://developer.android.com/guide/topics/appwidgets/overview
使用方式参考官方Demo:
https://android.googlesource.com/platform/development/+/master/samples/ApiDemos/src/com/example/android/apis/appwidget
完成功能的时候建议参考官方Demo
2.自动创建AppWidget
AppWidget属于用户低频使用功能,等用户自己去添加功能,可能性不大。如果能引导用户,帮用户创建会有更好的效果。
Android官方提供了自动创建的方法,但需要Android系统版本不低于8.0(API 26及以上)。
AppWidgetManager appWidgetManager =context.getSystemService(AppWidgetManager.class);
ComponentName myProvider =new ComponentName(context, MyAppWidgetProvider.class);
//@RequiresApi(api = Build.VERSION_CODES.O)
if (appWidgetManager.isRequestPinAppWidgetSupported()) {
// AppWidget创建成功回调
Intent pinnedWidgetCallbackIntent = new Intent(context, MyAppWidgetProvider.class);
PendingIntent successCallback = PendingIntent.getBroadcast(context, 0, pinnedWidgetCallbackIntent,PendingIntent.FLAG_UPDATE_CURRENT);
//如果不需要创建成功回调,requestPinAppWidget的第三个参数可以为null
appWidgetManager.requestPinAppWidget(myProvider, null, successCallback);
}
我们应用8.0及以上的用户覆盖率超过90%,8.0以下的用户忽略自动创建功能。
网友评论