AppWidget(2)控件监听器绑定
什么是PendingIntent
PendingIntent创建之后并不马上使用 PendingIntent将实际Intent包裹其中
AppWidget和应用程序运行在2个进程中
进程A将PendingIntent交给进程B 当B中发生某事件 则其中的Intent被执行
创建PendingIntent的方法 (PendingIntent类的静态方法)
1 getActivity(...)
2 getBroadcast(...)
3 getService(...)
RemoteViews的作用
RemoteViews对象表示了一系列的View对象(非应用程序同一进程的)
RemoteViews所表示的对象运行在另外的进程当中
AppWidget对于Activity就是一个RemoteViews
在AppWidget中使用控件
在ApppWidget中添加控件 例如一个Button 在layout中声明
为Button绑定处理器
AppWidget和应用程序不在同一进程中 要用:
remoteViews.setOnClickPendingIntent(R.id.widgetButtonId,pendingIntent);
主要在onUpdate方法中 其中有一个参数int[] appWidgetId 是桌面上创建的widget
// 1 创建一个Intent
Intent intent = new Intent(context,TargetActivity.class);
// 2 创建一个PendingIntent
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
// 3 得到RemoteViews
RemoteViews remoteViews = new RemoteViews(context.getPackageName(),R.layout.example_appwidget);
// 4 设置事件 绑定处理器 第一个参数是被绑定处理器控件的ID 第二个为动作
remoteViews.setOnClickPendingIntent(R.id.widgetButtonId, pendingIntent);
// 5 更新AppWidget 第一个参数指定更新哪一个 第二个参数为更新的控件
appWidgetManager.updateAppWidget(appWidgetIds[i],remoteViews);
最终实现的是AppWidget上点击一个Button 跳转到TargetActivity
分享到:
相关推荐
Appwidget就是手机应用中常常放在桌面(即home)上的一些应用程序,比如说闹钟等。这种应用程序的特点是它上面显示的内容能够根据系统内部的数据进行更新,不需要我们进入到程序的内部去,比如说闹钟指针的摆动等。本...
Mars(战神)——资产发现、子域名枚举、C段扫描、资产变更监测、端口变更监测、域名解析变更监测、Awvs扫描、POC检测、web指纹探测、端口指纹探测、CDN探测、操作系统指纹探测、泛解析探测、WAF探测、敏感信息检测...
3. **App widget.doc** - 应用小部件是Android桌面环境的重要组成部分,能让用户在主屏幕上直接与应用交互。这部分介绍了如何设计和实现一个基本的小部件,包括布局设计、更新机制(如AppWidgetProvider)以及与主...
这里是个人在看mars的contentprovider中的做记录的一些笔记,因为这章没有源码,所以做了点笔记下来仔细看看,不需要的同志不需要下哦
在这个模板中,你可以看到Vue2的基础结构,包括`main.js`作为入口文件,`App.vue`作为主组件,以及`router`和`components`目录中的路由和组件配置。学习这个模板,你可以理解如何将Vue2与Mars3D集成,实现页面结构和...
《Mars老师视频源代码详解——深入Android编程实践》 Mars老师的视频源代码是一份宝贵的教育资源,专注于Android平台的开发。这份源代码是Mars老师在教学过程中使用的实例,旨在帮助学习者深入理解Android应用的...
mars老师android视频学习笔记,mars老师讲解细致,这套笔记记得非常全面
《mars老师android视频第一季到第五季源码及视频合集》是一份全面且深入的Android开发学习资源,由知名讲师mars老师倾力打造。这个合集包含了从基础到高级的Android开发教学视频以及配套的源码,是Android开发者提升...
08_Appwidget02、07_Appwidget01和09_Appwidget03涵盖了AppWidget的创建、更新和交互,讲解如何设计和实现个性化的桌面组件。 3. **AutoCompleteTextView**:这是一个可以自动提示输入的文本输入控件,常用于提高...
10. **02_10_appwidget04**:这是另一个AppWidget的实践,可能更深入地探讨了AppWidget的高级特性或特定功能。 通过对这些源码的详细研究,开发者不仅可以理解每个知识点的理论,还能看到它们在实际项目中的应用。...
android mars视频代码 Broadcast TestBC2源码 BroadcastReceiver www.mars-droid.com/Android开发视频教程 代码 源码 mars老师讲课 android 视频源码(在此特别感谢mars的无私奉献,此代码为跟随视频边学边做的)
mars视频教程是初学android者首选的经典网上教程,mars老师语言幽默风趣、逻辑条理清晰,可以让初学者对android有个很好的入门学习,该资源是网上mars视频教程的全部源代码,初学者可以结合网上教程和源代码进行学习...
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> android:name="android.appwidget.provider" android:resource="@xml/simple_widget_info" /> ``` 6. **创建AppWidgetInfo**: 创建...
《基于Angular的Mars3D简单组件库——mars3d-simple-angular-widget》 "Mars3D-simple-angular-widget-master.zip"这个压缩包文件是专为Angular框架设计的一个组件库,其核心是利用Mars3D技术来构建三维地球应用。...
比如,当用户点击小部件时,你可以创建一个BroadcastReceiver来响应ACTION_APPWIDGET_UPDATE意图,然后更新小部件的内容或执行相应的操作。 为了使App Widget显示在主屏幕上,你需要在AndroidManifest.xml中注册`...
火星(Mars)视频源码是一套用于视频处理和播放的开源代码库,它提供了从视频解码、渲染到交互控制等一系列功能。在深入探讨这个主题之前,让我们先了解一下视频处理的基本概念。视频是由一帧帧连续的静态图像(图片...
Mars3D基础项目模版(含widget模块)-ES5传统版传统模式Web前端技术栈下的一个拥有widget基础功能的应用的三维地球项目模版其他技术栈,请参考项目说明该项目与Mars3D基础项目的目录和文件完全相同,这是Mars3D基础...
在本资源包“Android开发mars视频教学第二季+源码和ppt.rar”中,您将获得深入学习Android应用开发的宝贵材料,特别是针对Mars框架的使用。这个压缩包包含了视频教程、源代码以及相关的PPT,旨在帮助开发者提升...
总的来说,"mars老师视频源码"是一个全面的编程学习资源,涵盖了从基础到进阶的多方面内容,适合不同层次的学习者。通过系统地学习和实践,学员不仅能提升编程技能,还能培养良好的编程思维和习惯。