草庐IT

发广播

全部标签

java - 在本地发送有序广播(在我的流程中)?

我的要求是这样的:我的应用需要注册某些广播。如果我的Activity在收到广播时正在“显示”,那么我会更新UI;否则,我会显示一个Notification。Commonsware提出了一个elegantsolution为了这;使用有序广播。我的问题是我想在本地,即在我的流程中完成所有这些。不幸的是,LocalBroadcastManager没有等效的sendOrderedBroadcast()。这只是LocalBroadcastManager的疏忽吗?或者它是否指出了最佳实践(大意是在本地发送有序广播不是一个好主意)?如果是,为什么?或者这个简单明了是不必要的,可以通过其他方式实现吗?

Android 硬件电源按钮广播监听器

我想在android服务中监听设备电源按钮。因为我在服务中,所以我不能使用key监听器。目前,我正在通过使用android.intent.action.SCREEN_OFF/android.intent.action.SCREEN_ON过滤器注册一个广播监听器来实现这一点,如下所示。IntentFilterfilter=newIntentFilter(Intent.ACTION_SCREEN_ON);filter.addAction(Intent.ACTION_SCREEN_OFF);ReceivermReceiver=newReceiver();registerReceiver(mR

android - 如何从广播接收器中注销监听器并停止服务

在我的应用程序中,我有一个广播接收器,在收到SMS消息中的关键字后,它会启动跟踪手机GPS位置的服务。我使用-context.startService(newIntent(context,TrackGPS.class));我还需要能够在收到SMS消息中的另一个关键字时停止服务,我已经尝试这样做,但GPS传感器仍然跟踪位置并且GPS图标在屏幕顶部闪烁。我尝试使用-context.stopService(newIntent(context,TrackGPS.class));我认为这可能是因为GPS监听器需要取消注册。谁能帮我让这项服务在收到短信后停止+停止GPS跟踪?提前致谢。解决方案@O

android - 将本地服务绑定(bind)到 Activity 或使用广播接收器,哪个更有效?

哪个更有效地控制服务类的Action和方法?一种方法是将本地服务绑定(bind)到Activity,另一种方法是使用广播接收器发送广播来控制服务中的方法。他们是做同一件事的两种不同方式?您大部分时间使用哪个? 最佳答案 绑定(bind):如果我需要更改服务的许多变量或在不同的场合从服务中获取值。这样您就可以在内存中访问变量。或者,如果我需要不断地从服务中获取值(value),那么一方面控制准确的时间会更容易。如果您有很多通信要做,绑定(bind)应该更有效。(Android文档给出了一个realtimeserverclientexa

java - Android 单播 UDP 有效但广播无效

对于一项作业,我们尝试设置多个Android设备以通过本地WiFi网络从笔记本电脑接收UDP广播。什么有效:两台笔记本电脑上的Python终端能够相互发送和接收UDP广播或单播。Android设备可以接收直接发送到其IP的UDP消息什么不起作用:Android设备(LG/GoogleNexus4)没有收到UDP广播消息(另一台运行Python的笔记本电脑收到)有什么建议吗?这是我们每个组件的来源(无耻地从互联网上借来的)Python接收广播importselect,socketport=50000bufferSize=1024ip='0.0.0.0's=socket.socket(so

android - 广播接收器在主线程上运行?

我在我的应用程序中使用MQTT服务器。所以我将数据作为单个字符串而不是批量json数据获取。因此,如果有100条记录,我的广播接收器的onReceive将被调用100次。我正在从接收到的字符串中提取数据并将其仅保存到此接收器类中的数据库中。我知道通常广播接收器会在主线程中运行。所以如果我采用这种方法,我的应用程序将会挂起。那么什么是合适的方法呢?如果我想在单独的线程中运行我的接收器我应该怎么做?这是我注册接收器的方式:mMessageReceiver=newMQTTMessageReceiver();IntentFilterintentFilter=newIntentFilter(MQ

android - 测试 Android 广播时如何包含额外的包?

我目前正在尝试测试Google的AppInvites,但我很难在不将应用程序发布到Play商店的情况下测试INSTALL_REFERRER广播功能AppInvite广播Intent需要一个名为"com.google.android.gms.appinvite.REFERRAL_BUNDLE"的额外包,它在AppInviteReferral中被选中,如下所示:publicstaticbooleanhasReferral(IntentreferralIntent){returnreferralIntent!=null&&referralIntent.getBundleExtra("com.

c# - Xamarin.Forms:应用程序关闭时广播接收器不工作

我正在使用Xamarin.Forms开发一个应用程序,虽然它的大部分工作正常,但当应用程序不在RAM中时,我无法找到让我的广播接收器工作的方法-这意味着即使当Android会“轻轻”关闭它,而不是用户强制关闭它。当应用程序在前台运行或应用程序在后台运行时,广播接收器本身工作正常,但尚未被终止。我已经花了几天时间寻找解决方案,但我无法成功。我在Xamarin论坛和此处看到了一些提示,在服务中声明我的广播接收器,并在MainActivity文件中启动该服务,虽然服务似乎正在运行,但它仍然没有对我的本地通知执行任何操作。就我的理解而言,在JavaAndroid开发中,您所要做的就是在list

android - 没有广播接收器的 Wi-Fi 扫描?

我已经创建了wi-fi扫描仪。它不断扫描可用的Wi-Fi网络。但我的问题是,如果我可以实际运行扫描(每x秒使用计时器调用startScan())并在不创建广播接收器的情况下接收相同的结果,为什么还需要广播接收器?这是onCreate()方法中的广播接收器代码:i=newIntentFilter();i.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);receiver=newBroadcastReceiver(){publicvoidonReceive(Contextc,Intenti){WifiManagerw=(WifiMan

android - Android 6 上未调用短信广播接收器

我正在trycatch手机上收到的短信,但是当手机收到短信时,不会调用“onReceive”方法。这是我的代码:我在“应用程序”标签内的“AndroidManifest.xml”中声明了BroadcastReceiver:这是IncomingSmsReceiver.javapublicclassIncomingSmsReceiverextendsBroadcastReceiver{publicstaticfinalStringSMS_RECEIVED="android.provider.Telephony.SMS_RECEIVED";@OverridepublicvoidonRecei