介紹
主要從事網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機版網(wǎng)站建設(shè))、響應(yīng)式網(wǎng)站設(shè)計、程序開發(fā)、微網(wǎng)站、微信小程序等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等多方位專業(yè)化運作于一體,具備承接不同規(guī)模與類型的建設(shè)項目的能力。
AppWidgetProvider是Android中提供的用于實現(xiàn)桌面小工具的類,其本質(zhì)是一個廣播,即BroadcastReceiver,在實際的使用中,把AppWidgetProvider當(dāng)成一個BroadcastReceiver即可
1. 為AppWidget提供一個文件定義小控件的基本配置信息
在資源文件夾res目錄下新建xml文件夾,添加app_widget_provider_info.xml文件內(nèi)容為:
<?xml version="1.0" encoding="utf-8"?>
2. 創(chuàng)建一個WidgetProvider繼承自AppWidgetProvider;
public class MyAppWidgetProvider extends AppWidgetProvider { //沒接收一次廣播消息就調(diào)用一次,使用頻繁 public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); } //每次更新都調(diào)用一次該方法,使用頻繁 public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { super.onUpdate(context, appWidgetManager, appWidgetIds); } //沒刪除一個就調(diào)用一次 public void onDeleted(Context context, int[] appWidgetIds) { super.onDeleted(context, appWidgetIds); } //當(dāng)該Widget第一次添加到桌面是調(diào)用該方法,可添加多次但只第一次調(diào)用 public void onEnabled(Context context) { super.onEnabled(context); } //當(dāng)最后一個該Widget刪除是調(diào)用該方法,注意是最后一個 public void onDisabled(Context context) { super.onDisabled(context); } }
3. 為 WidgetProvider創(chuàng)建一個布局文件
布局為常見布局
4. 注冊Manifest.xml
配置基本和廣播一樣,使用receiver 節(jié)點,meta-data 節(jié)點的name 為固定格式,resource為第一步定義的配置信息,intent-filter節(jié)點第三個action必須提供
5. 使用PendingIntent和RemoteViews對AppWidget綁定監(jiān)聽器,使用RemoteViews在MyAppWidgetProvider的onUpdate()方法中為Botton綁定監(jiān)聽器
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。