博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android之app widget(三)
阅读量:7040 次
发布时间:2019-06-28

本文共 1773 字,大约阅读时间需要 5 分钟。

    1. 接受来自App Widget的广播

     //Androidmanifest中的文件旨要,只要有个一action符合就会调用继承AppWidgetProvider的类:

      <receiver android:name="继承AppWidgetProvider的类">

     <intent-filter>

        <action android:name="android.appwidget.action.APPWIDGET_UPDATA"/>

       </intent-filter>

       <intent-filter>

        <action android:name="mars.appwidget03.UPDATE_APP_WIDGET"/>      //这是自定义action

       </intent-filter>

       <meta-data android:name="android.appwidget.provider"

          android:resource="@xml/example_appwidget_info"/>

       </receiver>

    //在代码中继承AppWidgetProvider的类的程况如下:

     A. 在Update方法中

     Intent intent = new Intent();

     intent.setAction("mars.appwidget03.UPDATE_APP_WIDGET");

       使用getBroadcast方法得到PendingIntent对象

     PendingIntent pendingIntent = PendingIntent.getBroadcast(contect,0,intent对象,0);

       B. 再onReciever方法中接收步骤A发送的广播

    

    2. 更新App Widget当中控件的状态

    public void onReceive(Context context, Intent intent){

    String action = intent.getAction();

    if(action == "mars.appwidget03.UPDATE_APP_WIDGET"){

      RemoteViews remoteViews = new RemoteViews(context.getPackage , R.layout.example_appwidget);

      //修改图片

      remoteViews .setImageViewResource(R.id.imageId , R.drawable.ku);

      remoteViews 。setTextViewText(R.id.widgetTextId , "");

      //获得AppWidgetManager 对象

      AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);

      //ComponentName指的是整个app widget控件 , 而RemoteViews指的是app widget里面的控件

      ComponentName componentName = new ComponentName(context, ExampleAppWidgetProvider.class);

      //更新appwidget

      appWidgetManager .updateAppWidget(componentName , remoteViews);

        }

        //必须要有else语句,不然其他的onUpdate,onEnable等函数将不会调用

        else{

        super onReceive(context,intent);

          }

      }

 

转载地址:http://xnxal.baihongyu.com/

你可能感兴趣的文章
看不见的"频谱"助力智慧城市建设
查看>>
软件测试文档写作——测试方案
查看>>
大数据的商业化:从数据、模型到业务逻辑
查看>>
Junit在MyEclipse上怎么用?
查看>>
能测试知多少--系统计数器与硬件分析
查看>>
颠覆传统 移动CRM成企业应用热点
查看>>
适合应用RFID的六大领域介绍
查看>>
《Web测试囧事》——2.6 时区不一致造成邮件发送异常
查看>>
需求管理是需求开发的基础
查看>>
干货:模板网站SEO优化技巧!
查看>>
CB Insights:2017年Q1网络安全领域共实现140宗投资
查看>>
安捷伦2016 Q2收入较去年增长6% 调升全年收入指导范围
查看>>
最新 Chrome 可让本地文件在网页应用中打开
查看>>
《Python地理空间分析指南(第2版)》——1.10 GIS中矢量数据的基本概念
查看>>
MySQL自动化运维工具 Inception
查看>>
QGraphicsItem如何使用信号/槽
查看>>
《计算机科学导论》一第2章
查看>>
分布式列式数据库 IndexR 开源啦!
查看>>
微软被评为全球第二大影响力公司
查看>>
《Web前端工程师修炼之道(原书第4版)》——我需要学习哪些语言
查看>>