草庐IT

broadcastReceiver

全部标签

android - 仅当它在前台时才从 BroadcastReceiver 通知 Activity

也许这很简单,但到目前为止我还没有真正弄清楚...我有一个BroadcastReceiver等待被AlarmMangager触发-这工作正常。现在:因为该事件(如果发生)需要刷新主Activity屏幕上的一些元素,我想从该背景BroadcastReceiver向我的Activity发送一个Intent-但只有如果它目前在前台,也就是Activity的。如果它没有运行或不可见,我不在乎-我想做的最后一件事就是按我的Intent启动Activity!我在onResume()方法中处理View的重绘,所以我根本不在乎。关于如何做到这一点的任何提示?谢谢!编辑:我的BroadcastRecei

将 UI 从 BroadcastReceiver 更新到特定 Activity 的 Android 最佳实践

当我有一个广播接收器说android.intent.action.MEDIA_BUTTON并且我想在不创建新Activity的情况下更新当前Activity的UI时,有什么好的做法吗?我知道的(可能不正确)1)我可以把BroadcastReceiver和activity放在同一个类中,在某个activity之后调用updateUI函数2)创建一个ContentObserver?3)与Activity创建的服务通信,使用aidl。(如果从Activity中注册,我不知道如何获取当前服务)4)在与activity位于同一类的broadcastReceiver上创建一个自定义过滤器,并使用c

android - 将 BroadcastReceiver 注册到 Widget(Context 对象的区别)

有点混淆WidgetContext和ApplicationContext之间的区别:关于无法通过AndroidWidget的实现源码(Ref.1)注册新的BroadcastReceiver的问题出于可读性原因,我将我的答案复制如下:★亨利的问题(Ref.1):Iammakingawidgetthatneedsabroadcastreceiver,liketheoneincom.example.android.apis.appwidget.ExampleBroadcastReceiver.However,theexampledefinesIntent.ACTION_TIMEZONE_CH

Android BroadcastReceiver onReceive() 在 android 4.0 上调用了两次

我在android4.0.3上遇到了一个问题(在4.1.2上它工作正常)。我有我的Activity广播接收器。当我发送广播时,方法onReceive()总是调用两次。请给我关于4.0和4.1上的BroadcastReceiver差异的任何建议privatefinalGcmBroadcastReceivergcmReceiver=newGcmBroadcastReceiver(){@OverridepublicvoidonReceive(Contextcontext,Intentintent){finalStringaction=intent.getAction();if(action!

android - 从 Android 中的 BroadcastReceiver 调用 Activity 方法

这里我正在创建一个仅依赖于Internet的在线应用程序。因此,每当出现网络错误时,它都必须通知用户。为此,我创建了一个BroadcastReciver,它在网络连接丢失(Internet)时接收调用。这一切都完美无缺。现在我需要的是我必须从这个广播接收器中调用一个Activity方法,我在其中创建了一个警报对话。我在stack-overflow.com上阅读了很多答案,我可以将该方法声明为静态并仅使用Activity名称进行调用,例如MyActivityName.myMethod()但我不能将我的方法声明为静态,因为我在那里使用警报对话,它在线显示错误,AlertDialog.Bui

android - 当 wifi 或 3g 网络状态改变时的 BroadcastReceiver

我有一个应用程序可以在手机连接到WiFi时更新数据库。我已经实现了一个Service和BroadcastReceiver将运行Service(它会告诉我正在使用什么网络),但问题是我当网络状态改变或连接到某种网络时,不知道在manifest文件中添加什么来启动BroadcastReceiver 最佳答案 你需要在您的receiver标签。或者,如果您想对其进行更多控制,请在注册BroadcastReceiver之前设置这些:finalIntentFilterfilters=newIntentFilter();filters.addA

Android BroadcastReceiver,设备重启后自动运行服务

你好我正在写一个应用程序,当手机重启时,服务会自动启动,而不是点击应用程序。这是我的代码BootCompleteReceiver.javapackagecom.example.newbootservice;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;publicclassBootCompleteReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextco

android - Android 的 BroadcastReceivers 是否在新线程中启动?

如果我的Service类中有一个扩展BroadcastReceiver的内部类,我应该关心同步,当BroadcastReceiver类读取/从Service类写入对象?或者换一种说法:BroadacstReceiver的onReceive()方法是在额外的线程中启动的吗? 最佳答案 onReceive()方法始终在主线程(也称为“UI线程”)上调用,除非您使用registerReceiver()变体请求将其安排在不同的线程上:Context.registerReceiver(BroadcastReceiverreceiver,Int

android - 从 adb 向 BroadcastReceiver 发送 Intent

我有BroadcastReceiver类:publicclassIntentReceiverextendsBroadcastReceiver{finalStringtag="IntentIntercepter";@OverridepublicvoidonReceive(Contextcontext,Intentintent){try{Stringdata=intent.getStringExtra("sms_body");Log.i(tag,data);Toast.makeText(context,data.subSequence(0,data.length()),Toast.LENG

android - 在 BroadcastReceiver 中使用 getWindowManager()

我正在尝试在BroadcastReceiver中使用getWindowManager()并收到此错误:“getWindowManager()方法未为类型MyReceiver定义”我只需要得到display.getWidth()和display.getHeight()有什么提示吗?非常感谢。 最佳答案 只需要上下文的简单代码DisplayMetricsmetrics=newDisplayMetrics();WindowManagerwindowManager=(WindowManager)context.getSystemServic