草庐IT

broadcastreceivers

全部标签

android - BroadcastReceiver 与服务

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

android - BroadcastReceiver 作为内部类

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

android - adb shell 的 BroadcastReceiver 权限

考虑使用BroadcastReceiver实现简单目标的简单工具。因为这不应被其他应用程序使用,所以它定义了一个保护级别为signature或signatureOrSystem的权限:现在我想通过发送广播来测试这个adbshellambroadcast-nany.test/.Receiver从我的电脑。虽然这在模拟器上工作得很好,但设置此权限后它在真实设备上根本不起作用。如果未设置权限,一切都会按预期进行。那么我如何定义或授予权限,以便我可以使用ADB在真实设备上测试所有这些?我想让这个导出的接收器在Debug模式下更安全一些,所以如果对ADB使用有特殊许可,或者运行时测试只允许来自A

android - android 在 BroadcastReceiver 的 onReceive() 中传递的上下文是什么

当我实例化一个BroadcastReceiver并且当android框架调用onReceive()时,传递给onReceive()方法的上下文是什么?那是Activity背景吗?应用上下文?谢谢。 最佳答案 这是一个应用程序上下文。publicabstractvoidonReceive(Contextcontext,Intentintent) 关于android-android在BroadcastReceiver的onReceive()中传递的上下文是什么,我们在StackOverflo

Android之 BroadcastReceiver广播接收器详解

一四大组件1.1Activity组件,它一个单独的窗口,程序流程都必须在Activity中运行。1.2service组件,用于在后台完成用户指定的操作。1.3contentprovider组件,会为所有的应用准备一个内容窗口,并且保留数据库、文件。1.4broadcastreceiver组件,是程序之间传递信息时的一种机制,作用就是接收或者发送通知。二broadcastreceiver简介2.1 broadcastreceiver做为四大组件之一,负责组件之间消息的传递和接收。2.2 采用观察者模式,基于消息的发布/订阅事件模型,通过Binder机制进行消息的注册和接收。2.3广播中的角色:消

java - 如何将参数传递给 BroadcastReceiver 的子类?

我设法得到了我的headsetbuttonsgetrecognized按下时由我的应用程序调用,但其中一个按钮需要调用MyCustomActivity中的方法。问题是onReceive的第一个参数是一个无法转换为Activity和使用MyCustomActivity的内部类的上下文won'tworkinAndroid4.1除非它是静态的(它具有无法访问MyCustomActivity的方法的相同问题。所以留给我的唯一选择(为了同时支持2.x和4.1)是将Activity作为参数传递给RemoteControlReceiver.但是当实例化它的唯一方法是通过以下方式时,我该怎么做:pri

java - 在应用程序类中注册和取消注册 BroadcastReceiver

我有一个广播接收器,它已在AndroidApplcation类的onCreate()方法中注册,但如何取消注册它例子publicclassMyApplicationextendsApplication{@OverridepublicvoidonCreate(){super.onCreate();registerReceiver(broadcastReceiver,newIntentFilter("TIMEZONE_CHANGED"));}在上面的代码中,我已经在应用程序的onCreate()方法中注册了它,并且在Application类中没有onDestroy()/onStop()方法

java - BroadcastReceiver 未收到下载完成操作

我正在trycatch下载完成事件,但我的BroadcastReceiver没有收到它们。这是接收器:publicclassDownloadListenerServiceextendsBroadcastReceiver{@OverridepublicvoidonReceive(finalContextcontext,Intentintent){System.out.println("gothere");SharedPreferencessettings=PreferenceManager.getDefaultSharedPreferences(context);SharedPrefer

android - 用于多部分 SMS 的 BroadcastReceiver

收到短信后,我需要将短信存储到sqlite数据库中。目前它可以很好地处理短信(160个字符),但如果我收到多部分短信,它会将短信截断为大约155个字符。这是我的代码:SmsBR.javapublicclassSmsBRextendsBroadcastReceiver{privateDBManagerdbm;@OverridepublicvoidonReceive(Contextcontext,Intentintent){Bundlebundle=intent.getExtras();if(bundle!=null){Object[]pdus=(Object[])bundle.get("

android - 用于多部分 SMS 的 BroadcastReceiver

收到短信后,我需要将短信存储到sqlite数据库中。目前它可以很好地处理短信(160个字符),但如果我收到多部分短信,它会将短信截断为大约155个字符。这是我的代码:SmsBR.javapublicclassSmsBRextendsBroadcastReceiver{privateDBManagerdbm;@OverridepublicvoidonReceive(Contextcontext,Intentintent){Bundlebundle=intent.getExtras();if(bundle!=null){Object[]pdus=(Object[])bundle.get("