草庐IT

broadcastReceiver

全部标签

android - Broadcast Receiver 类和 registerReceiver 方法

您好,我正在尝试了解BroadcastReceiver,我浏览了很多示例代码,但仍然有一些疑问。我想知道什么时候我们必须扩展BroadcastReceiver类,什么时候应该使用registerReceiver()方法,什么时候应该为BroadcastReceiver创建对象。在某些程序中,我遇到了正在使用的registerReceiver方法,但没有扩展BroadcastReceiver类。我还想知道如何调用onReceive方法。什么时候应该使用哪种方法?这是registerReceiver方法:registerReceiver(newBroadcastReceiver(){@Ov

android - BroadcastReceiver 中的 sendBroadcast

在广播接收器中发送广播有什么问题吗? 最佳答案 我认为从BroadcastReceiver中再次发送广播没有任何问题。你可以看到类似的例子here.要了解有关广播接收器的更多信息,请参阅thefollowing. 关于android-BroadcastReceiver中的sendBroadcast,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5073959/

android - 如何检测 Android 应用程序启动?

是否可以检测应用何时执行(即用户何时点击应用的图标)?我尝试使用Intent.CATEGORY_LAUNCHER类型的类别注册Intent.ACTION_MAIN类型的Intent,希望这会在应用程序启动时让我知道。问题是,我的广播接收器永远不会被调用。这是要注册的非法Intent/类别组合吗?有什么方法可以用来确定应用程序何时启动? 最佳答案 应用启动Intent不是广播,所以没办法注册广播接收器并接收。如前所述here,确实没有办法检测应用程序的启动。您可能会编写一个服务来轮询正在运行的任务以查找应用程序的任务(使用Activi

android - 如何确定 intent 持有的 bundle 中 extra 的类型?

我试图通过Intent将任意数据传递给BroadcastReceiver。所以我可能会做类似下面的事情intent.putExtra("Someboolean",false);intent.putExtra("Somechar",'a');intent.putExtra("SomeString","Butdon'tknowwhatitwillbe");intent.putExtra("Somelong",15134234124125);然后将其传递给BroadcastReceiver我想用keySet()之类的东西遍历Intent.getExtras(),但我也希望能够在没有必须对.g

android - BroadcastReceiver 与服务

那么,在android中,在broadcastReceiver中做某事和在broadcastReceiver中调用另一个服务有什么区别?我认为它们都在后台运行,对吧?其实我要做的是:Incertaintimeofeveryday,downloadtheuserevent(eg:9:00ameatbreakfast)fromdatabase,andsetuptheAlarmManagertoshownotificationabouttheevent.现在我设置了一个警报管理器来完成上述任务。我很困惑,我应该直接在BroadcastReceiver中完成此操作还是在BroadcastRec

android - 无法通过启动完成接收器中的 onReceive() 进行调试

非常感谢这个网站,我的第一个Android项目取得了重大进展。我试图在启动完成接收器的onReceive()方法中暂停执行。以下是我的list和接收方代码。安卓2.3.3API-10集成开发环境-Eclipse在模拟器上运行list:接收者:publicclassProjectTrackerOnBootReceiverextendsBroadcastReceiver{privateProjectTrackerDBAdaptermDbHelper;@OverridepublicvoidonReceive(Contextcontext,Intentintent){Debug.waitFor

android - 我无法接收有关电池状态变化的广播?

我遇到了与这篇文章完全相同的问题:Batterybroadcastreceiverdoesn'twork.但似乎没有人回答过这个问题。这是我的广播接收器:publicclassBatteryLevelReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){Log.v("plugg","plugchangefired");Toast.makeText(context,"plugchangefired",Toast.LENGTH_LONG).show();}这是我的

android - BroadcastReceiver 作为内部类

我知道BroadcastReceiver如果定义为Activity的内部类则不能使用。但我想知道为什么?是不是因为系统必须实例化一个大型Activity对象才能实例化一个接收器实例? 最佳答案 ...becausethesystemwouldhavetoinstantiatealargeActivityobjecttojusthaveinstanitatedarecevierinstance?是的,就像任何其他非静态内部类一样。在创建(非静态)内部类的实例之前,它必须从某个地方(例如通过实例化或通过某种其他机制)获取外部类的实例。从

android - 将额外的 Intent 传递给 android 广播接收器

我创建了一个AlarmReceiver类,用作警报的广播接收器。问题是我需要从设置警报的类发送一些值到广播接收器类。设置报警管理器.javaIntenti=newIntent(mContext,AlarmReceiver.class);i.putExtra(KEY_ROWID,(long)taskId);PendingIntentpi=PendingIntent.getBroadcast(mContext,taskId_int,i,PendingIntent.FLAG_ONE_SHOT);mAlarmManager.set(AlarmManager.RTC_WAKEUP,when.ge

Android ACTION_DATE_CHANGED 广播

我有一个NexusS,当我在手机上手动更改日期时,并不总是广播ACTION_DATE_CHANGED。如果我将日期从2014年2月13日更改为2014年2月14日,我还没有让ACTION_DATE_CHANGED起作用,但如果我将它设置为future几年,我有时会触发它.我可以(99%)向您保证我没有滥用IntentFilters、BroadcastReceivers等。我只是好奇为什么这个广播的记录如此之少。通过SO&Google快速扫描显示,人们不确定它是在用户手动更改时发生,还是在每天凌晨12:00滚动时发生,或两者兼而有之。我的经验表明,它在用户更改方面非常不一致,而且我还没有