我最近使用谷歌的帮助程序类(GCMBroadcastReceiver、GCMBaseIntentService)将GCM消息传递添加到我的应用程序。当应用程序运行时,无论是在前台还是不在前台,它都能很好地工作。但是,当它不运行时,没有任何作用。作为测试,我扩展了GCMBroadcastReceiver并将日志语句添加到getGCMIntentServiceClassName()和peekService()。当应用程序正在运行并且消息到达时,我看到前者被调用。然后,操作系统实例化我的服务类,最终调用onMessage()。当应用程序未运行时,永远不会调用getGCMIntentServi
我有一个Activity,其中我有一个广播接收器(br)。如果我以编程方式注册br,则接收器已注册并且运行良好。但是,如果我在list中注册接收器,我会收到java.lang.ClassNotFoundException。请指教 最佳答案 如果UpdateUIClass是MyActivity的内部类那么你需要这样引用它android:name=".MyActivity$UpdateUIClass"这是您在布局XML中执行此操作的方式。不确定这是否适用于list,但试一试,看看它是否有效。编辑这是不可能的,除非内部类是静态的,因为li
我应该如何实现广播接收器和过滤器,以便它可以响应多个intent。privateBroadcastReceivermyReceiver;IntentFiltermyFilter=newIntentFilter();onCreate():myFilter.addAction("first");myFilter.addAction("second");myReceiver=newBroadcastReceiver(){@OverridepublicvoidonReceive(Contextcontext,Intentintent){//dodifferentactionsaccording
理想情况下,我不想启动一项Activity来执行此操作。当WiFi连接丢失时,我的应用程序需要关闭,因为这对我们来说是一个fatalerror。我想显示一条错误消息并让用户按下“确定”按钮,然后退出应用程序。解决此问题的最佳方法是什么?谢谢! 最佳答案 据我所知,只有Activity可以显示对话框。如果是这样,并且如果您的BroadcastReceiver是由Activity通过registerReceiver()注册的,那么您就设置好了——只需使用该Activity即可。但是,如果您的BroadcastReceiver已在list
我目前在市场上有2个应用程序,我们称它们为应用程序A和应用程序B。当某个功能在应用程序中执行时,我需要一些东西来触发应用程序a中的事件,即使应用程序a当前未运行。我假设应用程序B会向应用程序a发送广播消息,而应用程序a需要一个广播接收器,但我不确定如何做到这一点,如果可以的话。 最佳答案 afaik基本上有两种方式:BroadcastReceiver并使用sendBroadcast发送方方法或使用Intents:您甚至可以对其他应用使用startActivity(Intent),但这会将应用带到前台,而不是在后台执行工作。如果调用应
嗨,friend们,我无法将广播从一个Activity发送到另一个Activity,请查看下面的代码并提供帮助:publicclassSendBroadcastextendsActivity{publicstaticStringBROADCAST_ACTION="com.unitedcoders.android.broadcasttest.SHOWTOAST";/*}});}publicvoidsendBroadcast(){Intentbroadcast=newIntent("com.unitedcoders.android.broadcasttest.SHOWTOAST");thi
据我所知,静态注册(通过list)的广播接收器将在广播被触发时被激活,它不需要应用进程正在运行。但是动态注册的呢? 最佳答案 据我所知,即使您的应用程序关闭、销毁或终止,您也可以让您的广播接收器在后台运行。如果您想执行上述操作,则不应通过registerReceiver()进行注册。而是通过元素在list中注册它。然后,无论您的应用程序是否正在运行,它都可用。如果您希望广播接收器在您的应用程序关闭、销毁或终止时终止或停止,还有一个选择。您应该在您的onCreate中调用/调用registerReceiver()方法,您应该根据您的需
问题是我无法在接收器中获取引荐来源网址。在list文件中,我有类似的东西:adb广播命令:adbshellambroadcast-acom.android.vending.INSTALL_REFERRER-napp/app.InstallReceiver--es"referrer""utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign"在InstallReceiver类中:@OverridepublicvoidonRe
谁能告诉我什么时候应该使用Intent过滤器和广播接收器?和 最佳答案 我认为您对隐式Intent和广播接收器感到困惑。Activity中的IntentFilter用于接收隐含的intent,而Receiver中的IntentFilter用于接收广播。操作系统向所有接收者发送广播消息,同时向某个Activity发送隐式Intent。参见here 关于android-Activity中的Intent过滤器和广播接收器有什么区别?,我们在StackOverflow上找到一个类似的问题:
我正在尝试从其他类(PhoneStateReceiver)调用MainActivity的方法display_notification。但是出现了这个错误:java.lang.RuntimeException:Unabletostartreceivercom.weekendproject.roshu.spamblocker.PhoneStateReceiver:java.lang.NullPointerException:Attempttoinvokevirtualmethod'java.lang.Stringandroid.content.Context.getPackageName(