- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,我必须从 IntentService 类通知我的 Activity 。为此,我正在使用 LocalBroadcastManager。但是我在我的广播接收器的 onReceive 中没有收到任何东西。这是我写的。
在我的 BaseActivity 中我已经注册了我的接收器。
public class BaseActivity extends FragmentActivity implements App {
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
}
@Override
protected void onResume() {
super.onResume();
LocalBroadcastManager.getInstance(this).registerReceiver(
mMessageReceiver, new IntentFilter(custom-event-name));
}
@Override
protected void onPause() {
super.onPause();
LocalBroadcastManager.getInstance(this).unregisterReceiver(
mMessageReceiver);
}
// Our handler for received Intents. This will be called whenever an Intent
// with an action named "custom-event-name" is broadcasted.
BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
System.out.println("Overlay Message" +bundle.getString("message"));
}
};
}
我正在从我的 RegisterAlarmIntentService 类发送本地广播。
public class RegisterAlramIntentService extends WakefulIntentService implements
APIConstants {
public RegisterAlramIntentService() {
super("AlarmService");
}
@Override
public String getTag() {
return "AlarmService";
}
@Override
protected void onHandleIntent(Intent intent) {
System.out.println("Working till here fine In RegisterAlarm");
Bundle bundle = intent.getExtras();
Intent localIntent = new Intent(custom-event-name);
localIntent.putExtras(bundle );
LocalBroadcastManager.getInstance(this).sendBroadcast(
localIntent);
}
}
onHandleIntent() 方法被调用。但是在我的接收器的 onReceive() 中没有收到任何东西。请帮忙。提前致谢!!
最佳答案
尝试
public class RegisterAlramIntentService extends WakefulIntentService implements
APIConstants {
Intent localIntent;
public RegisterAlramIntentService() {
super("AlarmService");
localIntent = new Intent(custom-event-name);
}
@Override
public String getTag() {
return "AlarmService";
}
@Override
protected void onHandleIntent(Intent intent) {
System.out.println("Working till here fine In RegisterAlarm");
Bundle bundle = intent.getExtras();
Thread.sleep(5000); // For Testing only because it is in whole new thread (which may not wait for your reciever to setup)
localIntent.putExtras(bundle );
LocalBroadcastManager.getInstance(this).sendBroadcast(
localIntent);
}
}
也在 list 中:
<service android:name="com.commonsware.android.localcast.RegisterAlramIntentService"/>
参见 this
关于android - LocalBroadcastManager 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27031997/
我在将 Eclipse 项目导入 Android Studio 时遇到此错误。它显示了一条建议将库 Gradle: com.android.support:support-core-utils-27.
我正在尝试添加 flutter 的应用程序购买包。这首先造成了 AndroidX 迁移问题。然后在迁移之后我又遇到了一个我不知道如何解决的错误。 我什至没有为应用内购买编写任何代码。就在添加到 pub
我有一个显示产品列表的 fragment 。每个列表项都有一个监视列表按钮,如果未列入监视列表,则显示一个透明的心形图标;如果已列入监视列表,则显示一个红色心形图标。用户可以在列表页面中单击此心形图标
我遵循了 Youtube-Tutorial (https://www.youtube.com/watch?v=y8R2C86BIUc&list=PLgCYzUzKIBE8KHMzpp6JITZ2JxT
我正在尝试从服务向 Activity 发送消息,但由于某种原因它无法正常工作。 Activity @Override protected void onCreate(Bundle saved
在我的应用程序中,我必须从 IntentService 类通知我的 Activity 。为此,我正在使用 LocalBroadcastManager。但是我在我的广播接收器的 onReceive 中没
在我的 Android 应用程序中,我想广播一些通知。在 MainActivity 中,我注册了处理消息的 BroadcastReceiver 但据我所知,如果我不想发送消息,不建议使用全局 Broa
我正在使用新的 Android 构建系统创建一个应用程序,并使用 LocalBroadcastManager 将来自 IntentService 的通知发送回 Activity. 我已将以下产品风格定
我知道虽然 android 允许在 Intent 中传递 Serializable 对象,但出于性能原因不推荐这样做。 但是,如果使用 LocalBroadcastManager,对象是否会被序列化,
如何注册我的 App Widget(主屏幕小部件)以收听通过 LocalBroadcastManager 发送的本地广播消息? 最佳答案 您的应用程序小部件实际上是另一个应用程序进程(例如,主屏幕)中
我试图找到如何在扩展 BaseAdapter 的类中使用 LocalBroadcastManager 的答案,但是经过数小时的研究后,我没有找到正确的答案.我需要从适配器中的 Fragment 调用方
Android 的兼容包支持 LocalBroadcastManager,它可以在我的进程中发送广播。 http://developer.android.com/reference/android/s
我有一个 Activity A 和一个服务 S。它们通过 LocalBroadcastManager 进行通信。 如果 S 调用 sendBroadcast 两次,并依次传递两条消息 M1 和 M2,
我正在 Android 中处理这个项目,其中一个方面需要一个带有前台服务的 CountdownTimer。 Stack Overflow 上的其他一些答案提到 LocalBroadcastManage
你能帮我解决这个问题吗?我已经实现了一个接收器(通过 XML 注册),它监听特定的本地广播,然后启动一个服务进行进一步处理,但不知何故该接收器没有接收任何广播。 虽然另一个通过代码在本地注册的接收器能
我正在尝试连接我的服务和 Activity ,尝试了不同的方法,但没有任何效果。 当应用程序启动时,我在 SplashActivity 中启动 Servise。然后 Service 在后台做一些工作,
接收器可以注册到LocalBroadcastManager吗?在不同的线程中执行?我们使用 LocalBroadcastmanager 注册一个 Intent void registerReceive
我尝试学习 LocalBroadcastManager。在网络上搜索并实现了一个简单的应用程序,其中包含两个 Activity 来执行 LocalBroadcastManager。但它不起作用。我找不
我想知道 LocalBroadcastManager 是否比对订阅事件发布者的 Objects 的方法调用更好,以及开销(如果有)是否值得。 我正在开发一个聊天应用程序,示例过程包括将新收到的原始消息
谁能给我一个例子,说明如何在 Activity 类中正确取消注册 LocalBroadcastManager 接收器? Android 开发人员培训建议这样做: @Override publ
我是一名优秀的程序员,十分优秀!