å¾æè°¢æ¨ç帮å©ï¼é£ä¹æ¯å¦æçappwidgetä¸æäºä¸ªæ§ä»¶ï¼ææ³ç»äºä¸ªæ§ä»¶é½æ·»å åå»äºä»¶ï¼å½ç¹å»ä¸åæ§ä»¶çæ¶åææ¬èº«çå¼èµå¼ç»ä¸ä¸ªTextViewè¦æä¹å®ç°å¢ï¼è°¢è°¢
追çå 为appwidgetè¿è¡çè¿ç¨åæ们å建çåºç¨ä¸å¨ä¸ä¸ªè¿ç¨ä¸ï¼æ以æ们ä¹å°±ä¸è½å平常å¼ç¨æ§ä»¶é£æ ·æ¥è·å¾æ§ä»¶çå®ä¾ãæ们éè¦ç¨å°ä¸ä¸ªå¯¹è±¡ï¼è¿ä¸ªå¯¹è±¡å¨appwidgetåç¨åºç交äºä¸å¾éè¦ï¼ä»å°±æ¯RemoteViewsãä»åé¢ä¸çä»çæææ¯è¿ç¨çè§å¾ï¼ä¹å°±æ¯è¯´éè¿è¿ä¸ªä¸è¥¿æ们è½å¤è·å¾ä¸å¨åä¸è¿ç¨ä¸ç对象ï¼è¿ä¹å°±ä¸ºæ们ç¼åappwidgetçå¤çäºä»¶æä¾äºå¸®å©ãæ们使ç¨ä¸ä¸ä»£ç æ¥å建ä¸ä¸ªRemoteViews :ï¼åé¢ä»£ç ï¼
å¯ä»¥çå°ååºç°äºä¸ä¸ªéçç对象pendingIntentãæ们ç¥éå¨ä¸è¬çç¨åºä¸ç»å®æé®çç¹å»äºä»¶æ¯ç´æ¥å¨å®ç°äºOnClickListeneræ¥å£çç±»ä¸ä¸å®æçãä¸è¿å 为appwidget并ä¸å¨æ们åºç¨çè¿ç¨ä¸ï¼æ以å½ç¶ä»ä¹è®¿é®ä¸å°æ们å¨åºç¨ä¸è®¾ç½®çonclick代ç å¦ãèPendingIntentå°±æ¯è¢«ç¨æ¥è§£å³è¿ä¸ªé®é¢çãPendingIntentå¯ä»¥çææ¯ä¸ä¸ªç¹æ®çIntentï¼å¦ææ们æIntentçæä¸å°ä¿¡ï¼é£ä¹PendingIntentå°±æ¯ä¸å°è¢«ä¿¡å°å
裹起æ¥çä¿¡ãè¿å°ä¿¡å¨remoteViews.setOnClickPendingIntent()ä¸è¢«âé®å¯âå°äºappwidgetï¼ å½appwidgetä¸çæé®åå»æ¶ä»ç¥éå°è¿å°ä¿¡æå¼ï¼å¹¶æ§è¡éé¢çå
容ãè¿æ ·å°±é¿å
äºç´æ¥ä»appwidgetä¸æ§è¡æ¬å°ä»£ç ãæäºä¸é¢çä»ç»ï¼æ们å¨å建appwidgetç交äºåºç¨æ¶å°±ç®åä¸å°äºãæ们å©ä¸è¦åçå·¥ä½å°±æ¯å¨appwidgetå¨å建çæ¶åè°ç¨ä¸é¢è¯´å°çæ¹æ³ä¸ºappwidgetä¸çæ§ä»¶ç»å®äºä»¶ï¼ä¹å°±æ¯å¨AppWidgetç±»ä¸çonUpdateæ¹æ³ä¸å®æè¿ä¸ªè¿ç¨ãï¼å¨ä¸æ¬¡çåçä¸å·²ç»åäºonUpdateæ¹æ³ï¼
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds)
{
//å建ä¸ä¸ªIntent对象
Intent intent = new Intent();
intent.setAction(broadCastString);
//设置pendingIntentçä½ç¨
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
RemoteViews remoteViews = new RemoteViews(context.getPackageName(),R.layout.appwidgetlayout);
//ç»å®äºä»¶
remoteViews.setOnClickPendingIntent(R.id.btnSend, pendingIntent);
//æ´æ°Appwidget
appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
}
ç¾åº¦éå¶åæ°ï½_ï½è¯¥æç代ç é½æäº