`
dyllove98
  • 浏览: 1405303 次
  • 性别: Icon_minigender_1
  • 来自: 济南
博客专栏
73a48ce3-d397-3b94-9f5d-49eb2ab017ab
Eclipse Rcp/R...
浏览量:39053
4322ac12-0ba9-3ac3-a3cf-b2f587fdfd3f
项目管理checkList...
浏览量:80060
4fb6ad91-52a6-307a-9e4f-816b4a7ce416
哲理故事与管理之道
浏览量:133165
社区版块
存档分类
最新评论

android清除数据后widget无法更新问题修改

阅读更多

清除数据时会发送ACTION_PACKAGE_DATA_CLEARED广播,在widgetProvider里面监听该广播并进行处理就可以了

 

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. public static class PackageDataClearedReceiver extends BroadcastReceiver {  
  2.        private static final String ACTION_PACKAGE_DATA_CLEARED = "com.mediatek.intent.action.SETTINGS_PACKAGE_DATA_CLEARED";  
  3.   
  4.        public void onReceive(Context context, Intent intent) {  
  5.            if (!ACTION_PACKAGE_DATA_CLEARED.equals(intent.getAction())) {  
  6.                return;  
  7.            }  
  8.            String pkgName = intent.getStringExtra("packageName");  
  9.            MusicLogUtils.v(TAG, "PackageDataClearedReceiver recevied pkgName = " + pkgName);  
  10.            if (pkgName != null && pkgName.equals(context.getPackageName())) {  
  11.                MediaAppWidgetProvider mediaAppWidgetProvider = MediaAppWidgetProvider  
  12.                        .getInstance();  
  13.                if (mediaAppWidgetProvider == null) {  
  14.                    MusicLogUtils.v(TAG, "mediaAppWidgetProvider is null ");  
  15.                    return;  
  16.                }  
  17.                mediaAppWidgetProvider.defaultAppWidget(context, null);  
  18.            }  
  19.        }  
  20.   
  21.    }  

 

defaultAppWidget()函数会重新加载widget信息和布局文件,这样就可以恢复默认值了。
最后别忘了在AndroidManefest.xml里面加上:

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. <receiver android:name="com.android.music.MediaAppWidgetProvider$PackageDataClearedReceiver" >  
  2.     <intent-filter>  
  3.         <action android:name="com.mediatek.intent.action.SETTINGS_PACKAGE_DATA_CLEARED" />  
  4.         <category android:name="android.intent.category.DEFAULT" />  
  5.     </intent-filter>  
  6. </receiver>  

欢迎大家访问我的个人网站 萌萌的IT人
1
3
分享到:
评论

相关推荐

    桌面小部件AppWidget的使用

    开发者可以根据这些生命周期回调执行相应的操作,如初始化数据或清理资源。 此外,为了提供更丰富的交互,AppWidget还可以通过Intent接收来自用户的操作。例如,可以为小部件中的按钮设置OnClickListener,当用户...

    推荐2款Android安卓APP 三级联动的选择控件.zip

    2. 使用现有库:在Android开发中,有许多开源库可以帮助实现这样的功能,例如`androidx.recyclerview.widget.RecyclerView`配合`androidx.constraintlayout.widget.ConstraintLayout`,以及一些专门为联动选择设计的...

    Android ListView边框圆角美化

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了提升用户体验和界面设计的美观性,我们常常需要对ListView进行定制化,包括设置边框和实现圆角效果。本文将深入探讨如何在Android中实现...

    android 的permisson

    15. **android.permission.BIND_REMOTEVIEWS**:仅系统应用可以使用,用于绑定RemoteViewsService,以实现Widget的数据加载和更新。 16. **android.permission.BIND_WALLPAPER**:系统权限,用于绑定到...

    新版Android开发教程.rar

    ANDROID 的推出后可能影响的产业包括移动电信业,软件开发业,手机制造业,在以消费者为核心的状 态 。 对消费者的影响 � 高档手机选择面增加。 � A ndroid 在设计初期就考虑了与现其有业务的融合,改变以往从...

    基于Android系统的AppWidgetProvider分析.pdf

    AppWidget的更新通常通过RemoteViews来完成,这是一个轻量级的视图类,允许开发者修改AppWidget的布局和数据。RemoteViews可以用来设置文本、图片、按钮等元素,并可以绑定点击事件。 在实际开发中,...

    android系统权限大全

    - **CLEAR_APP_CACHE/CLEAR_APP_USER_DATA**:用于清除应用缓存或用户数据,有助于释放存储空间。 以上只是Android系统权限的一部分,但已足以展示其广泛性和复杂性。开发人员在设计应用时,应根据实际需求合理请求...

    android 权限大全

    当应用被卸载时,可以发送广播通知其他应用,以确保数据同步或其他清理操作。 #### android.permission.BROADCAST_SMS 此权限允许应用发送短信广播,常用于紧急通知或安全验证等场景。 #### android.permission....

    android关键字搜索框

    app:actionViewClass="android.widget.SearchView" /&gt; ``` 3. **监听SearchView事件** 为了处理用户在搜索框中的输入和搜索操作,我们需要在Activity或Fragment中设置监听器。这可以通过重写`...

    android搜索框,带历史记录功能

    app:actionViewClass="androidx.appcompat.widget.SearchView" /&gt; ``` 2. **设置监听器**: 在你的Activity或Fragment中,你需要监听SearchView的事件,比如搜索项被点击、搜索文本改变等。这可以通过实现`...

    android权限集合

    允许应用发送广播通知其他应用某个应用已被卸载,用于清理资源或执行卸载后的操作。 ### 21. android.permission.BROADCAST_SMS 允许应用发送短信广播,通常用于接收短信验证码或其他短信服务。 ### 22. android....

    android系统手机专业词语[参考].pdf

    6. **桌面Widget**:在Android系统中,Widget是可放置在主屏幕上的小型应用程序,提供快速访问和交互功能,如天气预报、日历、音乐播放控制等。它们提高了操作的便捷性。 7. **Recovery模式**:Recovery是一种特殊...

    android手机安全卫士

    1.整体项目采用MVC框架,是对android知识点的综合应用,用到的技术有 (activity,service,broadcast,content provider,Notification , 数据库,自定义title,自定义控件,自定义toast,widget,aidl进程间通讯, javascript和...

    Android某保活APP样品

    【Android某保活APP样品】是一款针对Android系统设计的应用程序,其主要目的是在用户设备上保持持续运行,尤其是在系统资源紧张或清理后台进程时,能够有效地避免被操作系统杀死,从而提高应用的可用性和用户交互...

    android50个技巧

    1. **电源管理Widget**:Android 2.1及更高版本提供了电源管理Widget,允许用户快速开启或关闭Wi-Fi、蓝牙、GPS和同步等功能,从而节省电池。长按屏幕进入Widgets目录即可启用。 2. **自定义拨号屏幕**:用户可以...

    十个小技巧让你的android手机更省电

    特别是在使用Android系统时,如何有效延长电池续航能力成为了许多用户关心的问题。以下介绍十个简单实用的小技巧,帮助您的Android手机更加省电。 #### 1. 开启省电模式 自Android 2.1版本起,系统便提供了省电...

    BASIC4Android的帮助文件KeyWords_Views

    RemoteViews用于实现远程布局的更新,常用于桌面小部件(Widget)更新和通知栏通知的布局。 #### 8. Service 服务(Service)是Android中实现后台长时间运行任务的组件,运行时不会提供用户界面,但是会执行一些...

    Android权限表

    12. **BIND_APPWIDGET**:应用可以绑定到AppWidgetProvider,控制小部件的数据和行为。 13. **BIND_DEVICE_ADMIN**:只有系统应用可以使用,用于管理设备管理员应用的权限。 14. **BIND_INPUT_METHOD**:应用可以...

Global site tag (gtag.js) - Google Analytics