Articles of broadcastreceiver

BroadcastReceiver for Android日历事件

我正在尝试编写一个BroadcastReceiver来侦听插入,编辑,删除到本机安卓日历(ICS及以上版本)等事件。 因此,每当其中一个事件发生时,应用程序应该至少知道这些事件发生了。 任何人都有一个想法,如何做到这一点或任何参考链接。 我编写了自己的broadcasterReceiver类,它从BroadcastReceiver扩展而来。 无法弄清楚清单中的值,目前我有这个不起作用: 干杯, 编辑1:有没有人知道数据标签的正确字符串?我认为这在intent-filter中也是必需的。 编辑2:有关使用ContentObserver的任何提示?

广播接收器无法在Android 6.0 Marshmallow中运行

我刚刚将我的Nexus 5更新为android 6,直到现在我的应用程序工作正常,但现在广播接收器无法正常工作。 新版本有什么变化吗? 这是我尝试过的代码,用于以前的版本,但不是在marshmallow中 – Android Manifest 广播接收器 public String TAG =”someClass”; private static String ACTION_SMS_RECEIVED = “android.provider.Telephony.SMS_RECEIVED”; public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equalsIgnoreCase(ACTION_SMS_RECEIVED)) { Log.d(TAG, “Received…”); } } 服务 Broadcast_receiver broadcast_receiver = new Broadcast_receiver(); IntentFilter filter1 = new IntentFilter(); filter1.addAction(“android.provider.Telephony.SMS_RECEIVED”); registerReceiver(broadcast_receiver, filter1); 同样,PHONE_STATE的广播接收器也不起作用。

Android – 如何触发广播接收器调用其onReceive()方法?

我为我的申请安排了警报。 我已经实现了一旦闹钟时间到达就会触发广播接收器。 如何手动调用广播接收器来执行onReceive方法内部的代码,而无需复制代码两次。 我想在实用程序单例调用中使用代码,并通过从任何地方使用util类实例来调用该方法。 但是,是否有任何其他方式直接调用onReceive方法或广告意图有问题。 android:exported =“false”//在清单文件中定义时接收者的附加参数。 另一个问题是导出的参数意味着什么。 请帮我理解这个。

什么是更高效的广播接收器或处理器?

我知道广播接收器的onReceive()和Handler的handleMessage()在同一个UI线程上运行。 假设我想在同一个应用程序(进程)中的两个服务之间进行通信。 我可以扩展广播接收器类并注册事件 要么 一个Handler,然后将其实例传递给另一个用于sendMessage()调用的服务。 在这两种情况下,我都需要添加一些新的开关案例。 但哪种方法更有效? 让我们假设代码是线程安全的(没有UI更新)。

为广播接收者提供最高优先级的整数值是多少?

赋予广播接收器最高优先级的整数值是多少?

如何检测用户何时打开/关闭gps状态?

我想阻止用户更改我的应用程序中的WiFi,GPS和加载设置。 用户在运行我的应用程序时无需打开/关闭WiFi和GPS。(来自通知栏)。 是否存在用于收听GPS开/关的BroadcastReceiver ?

无法将具有PendingIntent的Bundle发送到广播接收器,数据丢失

我通过使用AlarmManager和一个BroadcastReceiver类(名为AReceiver.java)为我的程序添加了一些基本的报警function。 我的问题是我添加到附加到创建PendingIntent的Intent的包的数据似乎丢失了。 我可以在AReceiver类中访问的唯一bundle数据是android.intent.extra.ALARM_COUNT = 1。 以下是创建Intent,PendingIntent和AlarmManager的主要活动类中的基本代码:[主要活动中的代码 – Notepadv3] Intent intent = new Intent(Notepadv3.this, AReceiver.class); intent.putExtra(“teststring”,”hello, passed string in Extra”); PendingIntent alarmIntent = PendingIntent.getBroadcast(this, pendingPeriodIntentId, intent, 0); AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, timeOfNextPeriod.getTimeInMillis(), alarmIntent); [BroadcastReceiver中的代码 – AReceiver] public void onReceive(Context con, Intent arg1) { Bundle extrasBundle = arg1.getExtras(); Log.d(“broadcast”,”contains teststring = ” + extrasBundle.containsKey(“teststring”)); Log.d(“broadcast”,”is […]

在没有打开应用程序的情况下通过操作按钮解除正在进行的Android通知

我有一个应用程序,持续通知,以帮助记忆。 我希望能够通过其中一个操作按钮关闭此通知,但我不想在按下按钮时打开应用程序。 我更喜欢使用内置的通知操作按钮,而不是创建RemoteViews对象来填充通知。 我在我的应用程序中看到了一个在这个按钮上使用BroadcastReceiver的post提及,虽然他的教程非常无益,但听起来这是朝着正确的方向发展。 Intent resultIntent = new Intent(getBaseContext(), Dashboard.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(getBaseContext()); stackBuilder.addParentStack(Dashboard.class); stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent( 0, PendingIntent.FLAG_UPDATE_CURRENT ); Intent cancel = new Intent(getBaseContext(), CancelNotification.class); stackBuilder.addParentStack(Dashboard.class); stackBuilder.addNextIntent(cancel); PendingIntent pendingCancel = stackBuilder.getPendingIntent( 0, PendingIntent.FLAG_UPDATE_CURRENT ); NotificationCompat.Builder mb = new NotificationCompat.Builder(getBaseContext()); mb.setSmallIcon(R.drawable.cross_icon); mb.setContentTitle(ref); mb.setContentText(ver); mb.setPriority(NotificationCompat.PRIORITY_LOW); mb.setOngoing(true); mb.setStyle(new NotificationCompat.BigTextStyle().bigText(ver)); mb.setContentIntent(resultPendingIntent); mb.addAction(R.drawable.ic_cancel_dark, “Dismiss”, pendingCancel); manager.notify(1, […]

侦听用户更改的事件(多用户设备)

我有一个应用程序,如果手机启动自动启动。 一位用户告诉我他的手机是由两个人使用的,其中一个是使用我的应用而另一个不是。 因此,当用户切换时,我需要一些事件来收听,这样如果正确的用户正在使用手机,我就可以启动我的应用服务。 我可以用的任何东西? 编辑 我正在通过清单中注册的广播接收器来监听启动事件,所以我知道这是什么。 但我找不到任何适合在设备上切换用户的东西

java.lang.IllegalArgumentException:注册太多广播接收器

我收到一个java.lang.IllegalArgumentException ,并在尝试获取最新的ACTION_BATTERY_CHANGED粘性意图时,使用以下消息regist too many Broadcast Receivers (是的,该消息表示regist而不是register )。 我使用以下代码: Intent latestStickyIntent = getApplicationContext().registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); 如您所见,由于我使用null作为BroadcastReceiver,因此没有新接收器的实际寄存器。 据我所知,这只发生在HUAWEI RIO L01设备上的单个用户,但我不知道是否是原因。 任何人都有类似的错误经历? 更新(03/2016): 开始在其他华为设备(ALE L04,G7 L03)上看到同样的问题,但仍然没有其他厂商的设备。