如何實現乙個桌面小部件(一)

2021-07-31 00:17:39 字數 2353 閱讀 9569

public void onreceive(context context, intent intent) 

}bundle extras = intent.getextras();

}bundle extras = intent.getextras();

}this.onenabled(context);

this.ondisabled(context);

bundle extras = intent.getextras();

if (extras != null) }}

}

intent-filter>

receiver>

根據註冊的資訊,我們的廣播只會接收到小部件更新的廣播,不明白為什麼不一起加上呢!!

xmlns:android=""

android:minwidth="40dp"

android:minheight="40dp"

android:updateperiodmillis="86400000"

android:previewimage="@drawable/preview"

android:resizemode="horizontal|vertical"

android:widgetcategory="home_screen">

updateperiodmillis表示的是小部件自動更新的時間間隔,單位是毫秒,這裡設定的是24小時,這個值應該是有最小限制的,如果設定為0,你就只能自己傳送廣播讓小部件更新了,

網上說framework自動更新小部件的最小間隔為半個小時,在文件中沒有看到!!!不過在任何情況下,我們都可以手動更新我們的小部件(通過定時傳送intent,或者直接監聽時間變化的廣播)

previewimage屬性表示小部件在未新增的時候的預覽圖,如果不設定的話,缺省會使用應用的圖示!!!這也是很多自定義的小部件在預覽的時候看到都是小機器的緣故!!

initiallayout屬性代表的是小部件的真實布局,是乙個layout檔案!!

widgetcategory屬性表示小部件是否允許被現實在主介面或者鎖屏介面,在5.0之前的版本,小部件可以顯示在鎖屏介面,但是在5.0之後,小部件不允許被顯示在鎖屏在介面!!

intent.setcomponent(configure);

sharedpreferences.editor prefs = getpreferences(0).edit();

prefs.commit();

startactivityforresult(intent, requestcode);

}

protected
void

onactivityresult(int requestcode, int resultcode, intent data)

}return;

}if (resultcode == result_ok) else

}//如果配置沒有完成,在自定義的配置activity中設定結果碼不為ok,就不會成功新增小部件了!!

// add it to the list

linearlayout.layoutparams layoutparams = new linearlayout.layoutparams(

linearlayout.layoutparams.match_parent,

linearlayout.layoutparams.wrap_content);

registerforcontextmenu(view);

}小部件布局:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:padding="@dimen/widget_margin">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal"

android:background="@drawable/my_widget_background">

…linearlayout>

framelayout>

配置activity:

如何實現乙個窗體

如何實現乙個窗體 jframe 1.建乙個類窗體例如 swingui extands jframe 2.在main函式中初始化例項swingui frame new swingui frame.settitle frame.addwindowlistener listener frame.pack ...

如何實現乙個async await

async的執行原理 其實就是自動執行generator函式 暫時不考慮genertor的編譯步驟 更複雜 const getdata newpromise resolve settimeout resolve data 1000 這樣的乙個async函式 應該再1秒後列印data async fu...

如何設計乙個遠端桌面程式

今天和大家聊一聊如何實現乙個遠端桌面程式。對於遠端桌面程式,相信大家一定有所了解。常見的產品有teamviewer,向日葵,微軟遠端桌面,qq遠端桌面等等。遠端桌面能夠在定位使用者問題,協助操作,遠端辦公上有非常便捷作用。這裡我們就來自己實現乙個遠端桌面程式。對於乙個遠端桌面程式,我們要解決的問題主...