PendingIntent发送广播后OnReceive

本文详细介绍了如何通过PendingIntent在Android桌面Widget中实现点击控件触发广播,从而在不打开Activity的情况下执行应用功能。讲解了关键知识点,包括自定义广播ACTION、发送广播、接收广播的实现,以及RemoteViews和ComponentName的区别。此外,还提供了实现步骤,包括创建XML布局文件、在AndroidManifest.xml中声明、编写AppWidgetProvider以及在OnReceive中响应广播。
摘要由CSDN通过智能技术生成

      本集实现的内容:点击桌面的Widget上的控件,实现App的某些功能,而不用打开App的Activity,如放在Home的播放器(播放、暂停)

一重要知识点:

1、要让widget通过接收广播发出反应,需要先在ExampleAppWidgetProvider中命名一个action常量,然后在Update中设置给intent (intent.setAction(UPDATE_ACTION);),并且在AndroidManifest.xml中声明,再然后就可以在OnReceive里通过if(action.equals(UPDATE_ACTION)来做出反应。

2、如何发送广播

3、如何接收广播

4、RemoteViews和ComponentName的区别

5、可以通过context得到AppWidgetManager

AppWidgetManager appWidgetManager=AppWidgetManager.getInstance(context);


二实现步骤

1、新建res/xml/appwidget_info.xml     描述一个App Widget元数据,比如App Widget的布局,更新频率,指定在home中显示样式的布局文件。这个应该在XML里定义。

<?xml version="1.0" encoding="UTF-8"?>
<appwidget-provider 
    android:minWidth="60dp"
    android:minHeight="60dp"
    android:updatePeriodMillis="86400000"
    android:initialLayout="@layout/appwidget_layout"
    android:resizeMode="horizontal|vertical"
    android:widgetCategory="home_screen|keyguard"
    android:previewImage="@drawable/cat1"
    xmlns:android="http://schemas.android.com/apk/res/android"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值