AppWidgetProvider桌面控制元件的使用簡介
一 介紹
AppWidgetProvider是android中提供的用於實現桌面小工具的類,其本質是一個廣播,即BroadcastReceiver。下面是類的繼承關係。
所以,在實際的使用中,把AppWidgetProvider當成一個BroadcastReceiver就可以了,這樣許多功能就很好理解了。
二 開發一個桌面小工具的步驟
1 定義小工具介面:在res/layout/下新建一個xml檔案,名為widget.xml,名稱和內容可以自定義,看你的小工具要做成什麼樣子。
[html] view plain
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" >
- <ImageView
- android:id="@+id/imageView1"
- android:layout_width
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignParentTop="true"
- android:src="@drawable/clear_cover" />
- </RelativeLayout>
2 定義小工具配置資訊:在res/xml/下新建appwidget_provider_info.xml,名稱隨意選,新增如下內容
[html] view plain copy
- <?xml version="1.0" encoding="utf-8"?>
- <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
- android:initialLayout="@layout/widget"
- android:minHeight="84dp"
- android:minWidth="84dp"
- android:updatePeriodMillis="86400000" >
- </appwidget-provider>
3 定義小工具類,繼承AppWidgetProvider:
[java] view plain copy
- public class MyAppWidgetProvider extends AppWidgetProvider {
- public static final String TAG = "MyAppWidgetProvider";
- public static final String CLICK_ACTION = "com.example.action.CLICK";
- private static RemoteViews mRemoteViews;
- /**
- * 每刪除一次視窗小部件就呼叫一次
- */
- @Override
- public void onDeleted(Context context, int[] appWidgetIds) {
- super.onDeleted(context, appWidgetIds);
- Log.i(TAG, "onDeleted");
- }
- /**
- * 當最後一個該視窗小部件刪除時呼叫該方法,注意是最後一個
- */
- @Override
- public void onDisabled(Context context) {
- super.onDisabled(context);
- Log.i(TAG, "onDisabled");
- }
- /**
- * 當該視窗小部件第一次新增到桌面時呼叫該方法,可新增多次但只第一次呼叫
- */
- @Override
- public void onEnabled(Context context) {
- super.onEnabled(context);
- Log.i(TAG, "onEnabled");
- }
- /**
- * 接收視窗小部件點選時傳送的廣播
- */
- @Override
- public void onReceive(final Context context, Intent intent) {
- super.onReceive(context, intent);
- Log.i(TAG, "onReceive : action = " + intent.getAction());
- //這裡判斷是自己的action,做自己的事情,比如小工具被點選了要幹啥,這裡是做來一個動畫效果
- if (intent.getAction().equals(CLICK_ACTION)) {
- Toast.makeText(context, "clicked it", Toast.LENGTH_SHORT).show();
- new Thread(new Runnable() {
- @Override
- public void run() {
- Bitmap srcbBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.clear_fan);
- for (int i = 0; i < 20; i++) {
- float degree = (i * 90)%360;
- mRemoteViews.setImageViewBitmap(R.id.imageView1, rotateBitmap(context, srcbBitmap, degree));
- Intent intentClick = new Intent();
- intentClick.setAction(CLICK_ACTION);
- PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intentClick, 0);
- mRemoteViews.setOnClickPendingIntent(R.id.imageView1, pendingIntent);
- AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
- appWidgetManager.updateAppWidget(
- new ComponentName(context, MyAppWidgetProvider.class), mRemoteViews);
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- }).start();
- }
- }
- /**
-
相關推薦
AppWidgetProvider桌面控制元件的使用簡介
一 介紹 AppWidgetProvider是android中提供的用於實現桌面小工具的類,其本質是一個廣播,即BroadcastReceiver。下面是類的繼承關係。 所以,在實際的使用中,把AppWidgetProvider當成一個BroadcastReceiver就可以
俠仙客Silverlight/WPF工程管理甘特圖控制元件簡介(XiaXianKe Silverlight/WPF project management gantt chart control)
俠仙客甘特圖簡介 該GanttControl(甘特圖空間)是一種可視的和功能豐富的Silverlight/ WPF控制元件,是視覺化工程任務管理的理想控制元件,內建有具有假期的日程安排、強制執行和視覺化的依賴約束等。包括左側的多列樹列表與右側的具有可縮
MFC串列埠通訊(一)——MSComm控制元件簡介
Visual C++為我們提供了一種好用的ActiveX控制元件Microsoft Communications Control(即MSComm)來支援應用程式對串列埠的訪問,在應用程式中插入MSComm控制元件後就可以較為方便地實現對通過計算機串列埠收發資料。&nbs
python Tkinter 15種控制元件簡介
2.Canvas 畫布。提供繪圖功能(直線、橢圓、多邊形、矩形) ;可以包含圖形或點陣圖3.Checkbutton 選擇按鈕。一組方框,可以選擇其中的任意個(類似 HTML 中的 checkbox)4.Entry 文字框。單行文字域,用來收集鍵盤輸入(類似 HTML 中的 text)5.Frame 框架。包含
ubuntu使用conky新增桌面控制元件
週末沒事好好玩一下ubuntu,首先就想用windows的桌面。 桌面快捷方式就是把/usr/share/applications/下面的應用啟動檔案拷貝到桌面; 下面主要說說如何新增桌面控制元件。我
Android控制元件提示框與執行緒簡介
訊息提示框 1. Toast(吐絲框) 1.1 Toast是Android中的一種簡易的訊息提示框 1.2 使用這個類的最簡單的方法是呼叫靜態方法構造您所需要的一切,並返回一個新的Toast物件。 Toast toast=To
把控制元件的父視窗設為桌面後如何讓它能正常響應鍵鼠訊息
ListView中的item怎麼設定裝箱拆箱操作繫結實體類點選DateTimePicker三角鈕的事件ListView中的item怎麼設定裝箱拆箱操作繫結實體類點選DateTimePicker三角鈕的事件 專案檔案中含有兩個config檔案app.config與app1.co
C# 實現真正的透明控制元件(Windows桌面程式)
由於上位機程式的需要,需要大量的異性控制元件,開始不以為然,心想隨著GDI到GDI+的升級,微軟應該會給NET打造了一套高效絢麗的繪圖方案,使用後才知道完全不是我以為的那麼回事.於是開始各種尋找資源,發現網上方法無非使用Web.Transparent作為背景,要麼就完全使用
AppWidget(桌面小控制元件詳解)
介紹 Android widget 也稱為桌面外掛,其是android系統應用開發層面的一部分,但是又有特殊用途,而且會成為整個android系統的亮點。Android中的AppWidget與google widget和中移動的widget並
框架,庫,外掛,元件,控制元件之簡介
1.框架。FrameWork。無法對框架進行修改 2.庫。Library。以框架為基礎開發而成,可對庫的內容進行修改。 3.外掛。Plugin。一段寫好的程式碼,方便開發者使用。比如前段的輪播圖外掛,比較花哨的選單外掛,以及甘特圖外掛,Highcharts 圖表外掛,Ex
Qt 鍵盤上下左右改變控制元件焦點 (就像桌面上下左右選擇一樣)
只要視窗上的控制元件按照一個有序的二維排列設定objectname就可以。 比如 11 12 13 21 22 23 之類的設定名字,然後一個變數相應上下左右按鍵操作,利用fin
androidの桌面小控制元件(1)—電池狀態顯示
桌面小控制元件的實現是基於Broadcast的形式實現的,因此,每一個桌面小控制元件都對應於一個BroadcastReceiver類。Android系統提供了一個AppWidgetProvider類(它就是BroadcastReceiver的子類),這個類很關鍵,你在寫桌面小控制元件時只需繼承這個類就行。
Java開發桌面程式學習(二)————fxml佈局與控制元件學習
JavaFx專案 新建完專案,我們的專案有三個檔案 Main.java 程式入口類,載入介面並顯示 Controller.java 事件處理,與fxml繫結 Sample.fxml 介面 sample.fxml需要通過標籤fx:controller定義對應的controller <!-- 最外
控制異步回調利器 - async 串行series,並行parallel,智能控制auto簡介
一個 回調函數 錯誤信息 fan har require ner module 邏輯 async 作為大名鼎鼎的異步控制流程包,在npmjs.org 排名穩居前五,目前已經逐漸形成node.js下控制異步流程的一個規範.async成為異步編碼流程控制的老大哥絕非偶然,它不僅
遠程桌面控制演示
遠程桌面控制遠程桌面控制演示這裏我先打開兩臺虛擬機,分別是windows虛擬機和linux虛擬機,如何安裝這裏不再演示。前面文章已經演示過。如下圖所示: 我們先對linux虛擬機進行設置,將光盤先開啟 接著將裏面的已連接勾上,並將掛載的映像文件放進去,進入下一步 將已連接和映像文件選好後,點擊確定,進入界面,
My97DatePicker(WdatePicker)日期控制元件用法
WdatePicker[html] view plain copy print? <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!-- 它的官網是http://www.my97.n
QT獲取控制元件的內容去傳參的小發現
1://處理文字框(內容是一個連續的字串)的方法(不能直接用文字框的內容去傳參,//否則會有意想不到的錯誤發生,需要利用先拷貝到陣列,然後利用陣列去傳參), #include <QStringList> #include <QString> int arg
qt 小控制元件之textEdit
獲取 textedit 的文字內容:QString text = ui->textEdit->toPlainText(); 設定textedit 的文字內容:ui->textEdit->append(“lkf”);此方法追加內容是換行追加 char b[10]
ext3.0 樹控制元件處理
前幾個月,一直在學習ext,並用它做了個專案,其中涉及到大量的樹列表的建立,動態修改。現在不忙了,總結出來: //建立節點 root為樹的根節點,node當前要加入的節點,nodeArray所有的樹節點(可以不包括根節點) checked表示樹節點是否加入check框,帶check框的節點都
高階控制元件ListVie的使用
activity_main.xml 檔案(配置檔案) <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http: