zoukankan      html  css  js  c++  java
  • APP Widget

    一、

    Res/xml 创建一个xml文件

     

     

    创建的xml文件关联了一个布局的xml文件

     

     

    AndroidManifest中注册一个Reciver

     

     

     

     

    二、

    PendingIntent:在创建后并不马上使用,其像一个包裹一样,这个包裹里放了一个Intent。在A进程中创建了PendingIntent后交给B进程使用。在B进程中发生事件后触发/执行Intent

     

    1.RomoteViews对象表示了一系列的View对象

    2.RomoteViews所表示的对象运行在另外的进程中

     

    注意:由于APP Widget和我们的应用程序运行在不同的进程当中(APP Widget当中的View运行在Home Screen进程中),所以无法按照之前管用的方法绑定监听器。其绑定监听器的方法如下:

    RemoteViews.setOnCLcikPendingIntent(R.id.widgetButtonId,pendingIntent);

     

     

     

     

    三、

    1.接收来自APPWiget的广播

      (1)在AndroidManifest.xml当中为AppWidget注册新的intent-filter

      

     

    2)使用getBroadcast方法创建一个PendingIntent。创建的这个PendingIntent用来发送广播

      

     

    3)为APPWidget当红总的控件注册处理器

     

     

    4) 在onReceive方法当中接收广播消息

        

     

     

    2.更新APPWidget当中控件的状态

    注意:由于APPWidget和住程序不在同一个进程中,不能用普通的方法进行操作!

     

    (1) 在RomoteViews累当中有一系列方法可以更新控件

     

     

     

    2)在使用RomoteViews更新控件状态之后,需要使用APPWidgetManager通知APPWidget进行更新

  • 相关阅读:
    CountDownLatch, CyclicBarrier, Semaphore
    工具类中使用@Autowired失败问题
    可重入锁(递归锁)
    读写锁
    自旋锁
    加入BLOG
    控制字符串的超长部分用省略号表示
    java常见面试题总结
    maven打包不运行test脚本的命令
    DataGrip使用教程
  • 原文地址:https://www.cnblogs.com/guoxiaoyue/p/3152924.html
Copyright © 2011-2022 走看看