草庐IT

broadcastreceivers

全部标签

android - 我是否需要注销 'anonymous' BroadcastReceiver

我最近问了一个关于检查已发送短信状态的问题,给出的答案是注册了两个“匿名内部”的代码fragment(如果不正确,请更正我的术语)BroadcastReceivers收听短信发送/传送的广播。这些接收器只需要接收有关我的应用程序刚刚发送的SMS的数据,因此不需要永久收听。我的直接想法是“好吧,我需要在使用完它们后注销它们”,但这是正确的吗?我问发帖者这个问题,因为他没有包含任何注销代码,但没有得到回复。该代码似乎是一种非常标准的方式来做我想做的事情,因为它出现在许多Android开发网站上。在这里://---sendsanSMSmessagetoanotherdevice---priv

android - 如何获得可靠的 Broadcastreceiver

我希望每次广播Intent.ACTION_BATTERY_CHANGED时都调用Broadcastreceiver,这样我就可以跟踪一些数据。我现在拥有的:publicclassReceiverApplicationextendsApplication{@OverridepublicvoidonCreate(){//RegisterReceiver}publicstaticBroadcastReceivermyReceiver=newBroadcastReceiver(){@OverridepublicvoidonReceive(Contextcontext,Intentintent)

android在BroadcastReceiver中获取进程名称

我陷入了这个麻烦,想不通。我在谷歌上搜索了很多,但没有任何答案。我解释一下:我有一个在不同进程中运行的BroadCastReceiver(android:process=":anotherProcess")我想在我的BroadcastReceiver中获取这个进程名称。在这种情况下,对于示例,它可能是:com.my.package:anotherProcess这可能吗?我该怎么做? 最佳答案 我找到了一个方法。对于任何需要这个的人:intid=Process.myPid();StringmyProcessName=context.g

android - 单元测试 BroadcastReceiver

我一直在尝试弄清楚如何对我的BroadcastReceiver进行单元测试,并且我查看了StackOverflow和其他网站,但找不到解决我的问题的方法。在我的mainActivity中,我有以下两个函数:privatevoidregisterNetRcvr(){if(!isRcvrRegistered){isRcvrRegistered=true;registerReceiver(receiver,newIntentFilter("android.net.wifi.STATE_CHANGE"));registerReceiver(receiver,newIntentFilter("a

android - 如何在没有 Activity 的情况下创建 BroadcastReceiver

我想创建一个应用程序来响应接收的SMS消息并显示一个对话框。如何在不在Activity中定义的情况下在list中注册接收器?我试图将list中的接收器/Intent过滤器标签保留在Activity标签之外,但模拟器不会安装apk,因为没有启动Activity。将BroadcastReceiver保持为主要Activity会导致Logcat中出现“无法实例化Activity”错误。有什么帮助吗?谢谢,晴天接收类publicclassSMSReceiverextendsBroadcastReceiver{//onCreatisinvokedwhenansmsmessageisreceive

android - 如何在android中手动停止BroadcastReceiver

我已经像这样在AndroidManifest.xml中注册了我的BroadcastReceiver我想使用其他应用程序输入停止此BroadcastReceiver如何以编程方式停止此接收器?这是我的接收者代码:publicclassWIFIBroadcastReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){if(intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)){Int

android - 执行 createChooser(context,intent,IntentSender) 后不调用 BroadcastReceiver

我想检测用户在我向他展示createChooser()对话框后选择的应用程序。所以我创建了我的BroadcastReceiver子类,如下所示:importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.util.Log;publicclassShareBroadcastReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,

android - 如何将数据从 BroadcastReceiver 发送到 android 中的 Activity?

我正在编写一个应用程序来收听Android中的SMS收件箱,其中包含一个Activity和一个BroadcastReceiver。一旦SMSReceiver正在显示Alert消息...但我想将消息信息从Receiver发送到Activity。我不知道如何实现。任何人知道的请帮帮我... 最佳答案 IamwritinganapplicationtolistentheSMSinboxinandroidwithoneactivityandoneBroadcastReceiver.Pleasedonotdothis.这不是AndroidSD

android - 应用程序未运行时的 BroadcastReceiver

我在list中注册了一个BroadcastReceiver,它接收来自AlarmManager的通知。这一切在应用程序运行时运行良好,即正在调用onReceive()方法。但是,如果我强制停止应用程序以便我可以测试BroadcastReceiver在未运行时是否仍会收到来自AlarmManager的通知,onReceive()方法永远不会被调用。force-stop不能用这种方式测试AlarmManager&receiver吗?似乎有些回应说它行不通,有些回应说应该。如果没有,是否有测试的方法? 最佳答案 如果您的接收器已在您的li

android - 将 ArrayList<Object> 从 BroadCastReceiver 发送到 Activity

场景:我有一个闹钟计划在指定的时间运行。每次执行时,我的BroadCastReceiver都会触发。在BroadCastReceiver中,我进行了各种检查,最后得到了一个Notify类的ArrayList我在状态栏上显示通知当用户点击通知时,我会显示一个Activity。我需要在我的Activity中使用ArrayList在View上显示它。示例代码如下:publicclassReceiverAlarmextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){ArrayList