在AndroidManifest中。xml我有一个:
<receiver android:name=".MyBroadcast" android:exported="true"/>
我的广播文件:
package com.myapp;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class MyBroadcast extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent intent1 = new Intent(context, Radio.class);
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);
}
}
我试图运行应用程序后关闭它在后台播放音乐。
只有当您注册的事件发生时,才会调用onReceve()方法。您还没有声明将触发onReceve()方法的事件。所以,广播接收器不知道它应该监听什么。
您应该从Android文档中了解更多关于广播接收器和活动生命周期方法的信息。
这类似于要求X个人(任何人)为你从市场上获得。他在市场上寻找,但他不知道那是什么。所以,很明显,他不能帮你拿。你需要告诉接收者要寻找什么。
只有当您注册的事件发生时,才会调用方法。您还没有声明将触发onAccess()
方法的事件。所以,广播接收器不知道它应该监听什么。
您应该从Android文档中了解更多关于广播接收器和活动生命周期方法的信息。
我认为你不需要使用广播接收器。当应用程序关闭时,您可以使用活动生命周期方法执行任何您想要的操作。
那是因为你从来没有指定你实际上在听什么意图。
您需要注册广播接收器,以便在清单中使用intent filter标记或在运行时动态地侦听特定广播(事件)。有关差异的更多讨论,请参见此问题。
下面是如何在清单中做到这一点的示例(来自链接问题):
<receiver android:name="TestReceiver">
<intent-filter>
<action android:name="android.media.AUDIO_BECOMING_NOISY"/>
</intent-filter>
</receiver>
这意味着广播接收器正在收听音频。(您将希望用更合适的意图来替换它,以反映您希望何时运行它)。
这里有一个非常有用的意图列表,你可以在这里听。您可以从那里(或从其中一个库)选择广播,或者,如果您正在监听应用程序中发生的事件,您可以自己引发广播。
此外,确保所讨论的事件确实被提出。如果您正在收听的广播从未发生,广播接收器实际上永远不会被触发。
有关相关阅读,请参阅观察者模式(这是Android广播接收器实现的设计模式)。
问题内容: 有人可以解释和之间的确切区别吗? 在什么情况下我们必须使用每个Receiver类? 问题答案: 和之间只有一个区别。 当您收到内部广播方法时, 假设, BroadcastReceiver : 它 不保证 该 CPU将保持清醒 ,如果你启动一些长时间运行的进程。CPU可能会立即回到睡眠状态。 WakefulBroadcastReceiver : 这是 保证 该 CPU将保持清醒 ,直到你
通知广播接收机: 谁能帮帮我吗?我不知道我做错了什么
本文向大家介绍Android中的广播和广播接收器代码实例,包括了Android中的广播和广播接收器代码实例的使用技巧和注意事项,需要的朋友参考一下 BroadcastReceiver不仅可以接收系统广播,也可接收自定义的广播 1.定义一个广播接收器 2.发送广播,定义好action标志,用Intent发送 3.注册只接收指定action的广播接收器 4.取消该广播接收器
我有一个应用程序与推送通知挂钩。当用户点击通知时,我希望一个广播接收器被触发,而不是一个活动。 我看了这些线程,看起来这是完全可能和常见的。 Android通知动作未触发(PendingIntent) > 我创建了一个自定义接收器: 我在全局应用程序上动态注册了这个接收器(而不是活动) 过滤器只是一个字符串常量(我想知道这是不是问题所在)
问题内容: 我想实现一个侦听器,如果有人从任何应用程序复制了任何东西,它将监听。 我听说有哪个将侦听复制操作,但这不是接收方(据我了解)。我有一个示例应用程序,该应用程序背后的逻辑是,从系统启动启动服务并运行一个服务,该服务将侦听“复制”操作,但是我认为这会耗尽电池。我对吗? 因此,我该如何实现可以监听复制动作的广播接收器。 问题答案: 这是监听器: 只需注册:
我有一个应用程序,它使用AlarmManager为用户通知安排警报。我将报警对象的一个实例传递给AlarmManager使用的PendingEvent: 发生报警时间时,my AlarmBroadcastReceiver(我的AlarmBroadcastReceiver(报警广播接收器))正确接收广播,但LogCat警告未找到报警类: 然而,BroadcastReceiver成功地从接收到的意图中