我正在广播一个将由广播接收器接收的Intent,因为应用程序仍在运行并且警报服务触发了新Intent,但接收器显示的是以前的Intent值。根据文档,广播接收器在返回onReceive()后不再处于Activity状态,因此接收器应显示由警报服务触发的下一个Intent值,但它没有发生,任何人都可以告诉正确的方法。这是从Activity到广播Intent:Intentintent=newIntent(SCH_ALARM_ACTION);intent.setClass(getBaseContext(),SchAlarmReciever.class);intent.putExtra("id
我有2个应用程序。如果我使用服务,我可以设置权限,这样只有app1可以将intent发送到app2:在app2中定义权限(保护级别:签名),以及在app1中使用该权限。app2中的服务受该权限保护。这样,只有app1可以向app2上的服务发送intent,并且没有其他应用程序(除非我的签名被泄露)可以发送Intent到app2上的服务。我可以用BroadcastReceiver做同样的事情吗?app1:sendBroadcast(Intent,许可)app2:定义权限,使用该权限。根据我对使用sendBroadcast(intent,permission)的理解,应用程序不需要“使用”
场景如下:显示一个Activity(active)。如果有电话来电,Activity应该接收到Intent(将“来电屏幕”发送到后台/从显示屏上隐藏它),并且Activity本身对用户保持可见。我不一定要抑制来电,因为我在很多问题中都读到过公共(public)API是不可能的。我想要的只是以某种方式让android的默认来电屏幕被我在顶部的Activity隐藏。仅当我的Activity可见时才需要此行为,这不等于使用PHONE_STATE广播接收器来启动我的Activity。后一个问题已在SO上多次回答。请帮帮我。我已经找了将近一天的路。感谢您的宝贵时间。
是否可以注销已通过list注册的BroadcastReceiver?另外请告诉我是否可以忽略BroadcastReceiver,而不进行任何代码更改,因为此BroadcastReceiver现在对我没有用。谢谢。 最佳答案 您可以使用此代码禁用Receiver:PackageManagerpm=getPackageManager();ComponentNamecompName=newComponentName(getApplicationContext(),MyReceiver.class);pm.setComponentEnabl
我的应用程序(targetSdk=25)在list中定义了一个广播接收器,如下所示:每当Android的DownloadManager时,我的DownloadManagerReceiver都会收到通知完成文件下载,因此我可以对下载的文件进行一些处理。我正在努力将我应用的targetSdk迁移到27(Oreo)。根据https://developer.android.com/about/versions/oreo/background#broadcasts,通过list注册的隐式广播接收器不应该在AndroidO中工作(那些whitelistedexceptions除外)。但是,当我使用
我一直在为这个错误而苦苦挣扎,但我只是放弃了。每次我尝试使用GCM发送消息时,此错误都会出现在LogCat上。我没有做什么?我已按照Android示例设置GCM通知。这是LogCat错误编辑:消息确实通过了,但我不认为这个错误是正常的。08-1217:13:15.888:W/GTalkService(2237):[DataMsgMgr]broadcastintentcallback:result=CANCELLEDforIntent{act=com.google.android.c2dm.intent.RECEIVEcat=[com.testing.encuesta](hasextra
我尝试像短信一样获取小区广播消息的文本,但它不起作用:publicclassSMSReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){Bundlebundle=intent.getExtras();SmsMessage[]msgs=null;Stringstr="";if(bundle!=null){//---retrievetheSMSmessagereceived---Object[]pdus=(Object[])bundle.get("pdus");m
我正在制作闹钟应用程序,但在HTC的“快速启动”功能方面遇到了一些问题。此功能使设备进入深度休眠状态,而不是转动设备。这给我带来的问题是,因为手机没有关闭(尽管这是用户的看法),所以它没有从警报管理器中抹去我的Intent,使我所有的警报直接关闭,用户重新打开他的手机(如果警报已过期)。这不是我希望用户使用我的应用程序获得的体验。我想通过“手机关闭时X数量的警报响起”的通知在启动时通知用户。由于前面提到的原因,我不能这样做,也因为尽管手机“关闭”(没有应用程序在后台运行,没有通知,什么都没有),但它在重新打开时不会广播BOOT_COMPLETEDIntent。有人知道解决这个问题的方法
我知道有很多这样的帖子,但没有一个对我有帮助...我的list声明:短信接收者.javapublicclassSMSRecieverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){Bundleextras=intent.getExtras();if(extras==null){return;}Debug.log("launched..");abortBroadcast();...hugeblockofcode...if(alotofboolsaretrue){this.
我目前正在为Android制作地理围栏应用程序,我关注了他们的tutorial但我似乎无法让BroadcastReceiver正确触发。调用了onAddGeofencesResult,但从未调用过BroadcastReceiver。和想法为什么?我有它,如果一个人在地理围栏中超过5毫秒,以及退出或进入地理围栏,它应该发送广播。我根据办公室附近的坐标制作了地理围栏,但在穿过它们(或站在其中)时没有得到任何结果。ReceiveTransitionsBroadcastReceiver.java:importcom.parse.ParseObject;importandroid.content