项目间歇期看了下从来没接触过的Widget,结合网上资料,写了个简单的便签程序,做一下小小的总结把:
1.Activity控制Widget的更新:
Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
this.sendBroadcast(intent);
Tips: 自己写的继承AppWidgetProvider的这个类可以收到这个广播,但是AppWidgetProvider是接收不到这个广播的,这个好像是有权限问题,刚开始我的Widget没法更新,就是我一直以为AppWidgetProvider类会自动帮我处理,并且调用OnUpdate函数。
2.Widget传参mAppWidget给Activity
Intent intent = new Intent();
String goToAction = "android.intent.action.scan";
intent.setClass(context, ScanContent.class);
intent.setAction(goToAction + appWidgetId);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
intent, 0);
Tips: 桌面上的每个Widget都有一个独立的mAppWidget值,传给Activity的时候要注意唯一性,否则更新Widget的时候会出错。使用Uri跳转也是相同的道理
3.遇到问题,从源码找解决方案。
小小展示下作品,各位不要见笑。
apk上传到木蚂蚁上了,当然是不加广告的拉。
APK下载地址:http://www.mumayi.com/android-62215.html
源码下载地址:http://download.csdn.net/detail/sanjinxiong/3988816