本集实现的内容:点击桌面的Widget上的控件,实现App的某些功能,而不用打开App的Activity,如放在Home的播放器(播放、暂停)
一重要知识点:
1、要让widget通过接收广播发出反应,需要先在ExampleAppWidgetProvider中命名一个action常量,然后在Update中设置给intent (intent.setAction(UPDATE_ACTION);),并且在AndroidManifest.xml中声明,再然后就可以在OnReceive里通过if(action.equals(UPDATE_ACTION)来做出反应。
2、如何发送广播
3、如何接收广播
4、RemoteViews和ComponentName的区别
5、可以通过context得到AppWidgetManager
AppWidgetManager appWidgetManager=AppWidgetManager.getInstance(context);
二实现步骤
1、新建res/xml/appwidget_info.xml 描述一个App Widget元数据,比如App Widget的布局,更新频率,指定在home中显示样式的布局文件。这个应该在XML里定义。
<?xml version="1.0" encoding="UTF-8"?>
<appwidget-provider
android:minWidth="60dp"
android:minHeight="60dp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/appwidget_layout"
android:resizeMode="horizontal|vertical"
android:widgetCategory="home_screen|keyguard"
android:previewImage="@drawable/cat1"
xmlns:android="http://schemas.android.com/apk/res/android"/>