草庐IT

发广播

全部标签

android - 广播充电器在 Android O 中断开连接

现在AndroidO的最终API已经发布,下面的广播都不是whitelisted我有以下问题:在我的应用程序(目标API25)中,我目前有一个BroadcastReceiver,它监听ACTION_POWER_CONNECTED和ACTION_POWER_DISCONNECTED的系统事件。现在我想更新我的应用程序以针对AndroidO,但此版本带来了巨大的change在广播行为中:AppsthattargetAndroidOcannolongerregisterbroadcastreceiversforimplicitbroadcastsintheirmanifest.Animpli

android - 广播接收器 onReceive() 被多次调用

我有一个boot_completed接收器,它在启动时得到通知。但它似乎被多次调用。我启动了一个计时器,然后是一个服务,这导致多个计时器,然后该服务被重置并再次运行。像这样创建计时器。这不是重复计时器,是吗?:privatevoidsetAlarm(Contextcontext,longinterval){try{AlarmManageralarms=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);Intentintent=newIntent(RespondAlarmReceiver.ACTION_RESPON

android - 如何从通知中触发广播接收器?

我想从通知中触发广播接收器。当我点击通知上的按钮时,它会显示此错误:"Unabletoinstantiatereceivercom.example.testservice.myBroad:java.lang.ClassCastException:com.example.testservice.myBroadcannotbecasttoandroid.content.BroadcastReceiver"**已更新/编辑并且现在可以使用**你能帮忙处理从通知到广播接收器的2个按钮吗?我如何将额外的值从通知广播触发器传递给接收器,无论它的播放按钮是按下还是暂停?现在我的按钮可以工作了,但是当

android - 从广播接收器完成一个 Activity

我有一个Activity,当电话响起时(通过电话应用程序)显示为无模式。我想在以下任一事件发生时完成Activity。第一个是如果我触摸Activity之外的任何地方(这不是问题),第二个是铃声是否停止。我正在收听广播接收器中的IDLE_STATE,但我不确定当我看到它时如何调用该Activity的结束。接收器不是由Activity注册的,而是由Manifest.xml注册的 最佳答案 现在在您的接收广播中编写代码,这将发送另一个名为“com.hello.action”的广播Intentlocal=newIntent();local

android - 如何识别*哪个*蓝牙设备导致 ACTION_ACL_CONNECTED 广播?

我想监听许多特定蓝牙设备的连接/断开连接,这些设备的MAC地址我知道,但不一定配对(我不想弄乱用户的配对设备列表,反之亦然)。我只对发现他们的存在感兴趣,而不是与他们交流。这与我下面的代码配合得很好!但我的问题是我无法找出哪个特定设备正在连接/断开连接,只是它发生在其中的某个人身上。我如何找出操作涉及哪一个?首先,我为我的两个特定物理蓝牙设备实例化对象并将它们添加到我的Intent过滤器中:BluetoothDevicemyPinkHeadset=mBluetoothAdapter.getRemoteDevice("18:17:0C:EB:9C:81");BluetoothDevice

android - 如果蓝牙设备正在连接/断开连接则广播?

我想在连接特定蓝牙设备时启动一项服务,并在断开连接时停止该服务。显然,我不希望后台服务始终检查BT设备是否已连接,因此我想使用Receiver来实现这一点。这真的可能吗?android.bluetooth.device.action.ACL_CONNECTED被提及here,但显然它没有用。谢谢! 最佳答案 这些是您必须添加到广播接收器的过滤器。ACL_CONNECTED蓝牙连接时发出信号,ACL_DISCONNECTED蓝牙断开时发出信号对于特定设备,您必须检查广播接收器中的Intent/上下文您必须添加的两个权限是:我认为这应该

Android,广播可打包数据

我已经实现了一个扩展NotificationListenerService的类,它可以很好地接收发布的通知。然后我想接收并广播statusBarNotification对象。我会做以下事情:@OverridepublicvoidonNotificationPosted(StatusBarNotificationstatusBarNotification){Intentintent=newIntent();intent.putExtra("STATUS_BAR_NOTIFICATION",statusBarNotification);intent.setAction("com.examp

android - DownloadManager 在 INSUFFICIENT_SPACE_ERROR 后不发送广播

问题如果cache目录已满,尝试执行一个简单的请求将失败,而不会发送DownloadManager.ACTION_DOWNLOAD_COMPLETE广播。注意:这个问题是普遍存在的,但大多数情况下可以在缓存有限的低端设备上重现(/data/data/com.android.providers.downloads/cache)尺寸。代码接收器配置正确,因为当操作成功和由于其他原因失败时我仍然收到广播。DownloadManager.Requestrequest=newDownloadManager.Request(Uri.parse("http://www.apkmirror.com/w

android - 在android中订阅了应用内更新广播

我已经为订阅产品实现了应用内购买,它工作正常。我为每个产品设置了1个月的订阅,1个月后会续订。现在我的问题是有什么办法可以得到更新的产品列表和更新日期吗?Google是否提供任何类型的服务或Activity,我们可以通过这些服务或Activity了解续订。 最佳答案 不幸的是,In-appBillingAPIv3不提供任何事件或方式来通知订阅续订或取消。您唯一可以做的就是手动查询API以检索当前激活的订阅。(这对AndroidAPI以及基于http的API都有效……)从Android客户端执行此操作的方法是:像往常一样查询库存以获取

网络编程(三)—— UDP(单播、广播、组播)

一、单播UDP协议的特点:无连接、不保证传输可靠(可能重复到达、失序、丢失、无字节流控制(数据传输快的会淹没慢的))UDP传输UDP服务端(接收端)的搭建流程UDP客户端(发送端)的搭建流程通信流程sendto和recvfrom这两个函数一般在使用UDP协议时使用sendto功能:sendto-sendamessageonasocket头文件:#include函数原型:ssize_tsendto(intsocket,constvoid*message,size_tlength,intflags,conststructsockaddr*dest_addr,socklen_tdest_len);参