我正在尝试让两个应用程序通过广播进行通信。第一个应用使用如下代码发送广播:IntentoutIntent=newIntent("org.example.WHATEVER");PackageManagerpm=this.getPackageManager();Listreceivers=pm.queryBroadcastReceivers(outIntent,0);if(receivers!=null)for(ResolveInforeceiver:receivers){Log.d("Sender",String.format("Polling%s",receiver.activityI
我有一个在AndroidManifest中注册的接收器,但是当应用程序被终止时它似乎无法接收Intent,假设我对Android进程生命周期有一些误解?感谢您的帮助。 最佳答案 如果用户进入“设置”并强制停止您的应用程序,在Android3.1及更高版本上,您的BroadcastReceivers将不再工作。您将返回到首次安装应用时所处的相同状态——在您的BroadcastReceivers再次工作之前,必须手动运行组件(例如,用户从主屏幕启动Activity)。 关于android-A
如何使用requestLocationUpdates(longminTime,floatminDistance,Criteriacriteria,PendingIntentintent)在BroadcastReciver中,以便我可以不断获取GPS坐标。我是否必须为LocationListener创建一个单独的类?我的项目目标是当我收到BOOT_COMPLETED时开始定期获取GPSlats和longs。我试过的代码是:publicclassMobileViaNetReceiverextendsBroadcastReceiver{LocationManagerlocmgr=null;S
有没有办法在运行时检查list中声明了哪些BroadcastReceivers? 最佳答案 使用PackageManager,您可以使用queryBroadcastReceivers()来查找谁将全部响应特定的Intent,并使用getInstalledPackages(),您可以找出每个包安装的接收器。 关于android-检查运行时list中是否声明了BroadcastReceiver?,我们在StackOverflow上找到一个类似的问题: https:
由于某些原因没有调用onReceive方法我没有应用任何过滤器或任何东西,这是类:importjava.util.ArrayList;importjava.util.Calendar;importandroid.content.BroadcastReceiver;importandroid.content.Intent;importandroid.content.Context;importandroid.util.Log;publicclassRegisterListenerextendsBroadcastReceiver{privatefinalintDELAY_TIME=5;pr
我正在尝试设置一项服务来检查设备中何时安装了Activity的新更新。我已经在应用程序Activity中这样做了,在list中声明了Broadcastreceiver并且它工作得很好。但是,当我尝试在服务中运行该接收器并动态声明它时,我的onReceive永远不会被调用。这是我的服务代码:publicclassUpdateServiceextendsService{privatestaticStringmPackage="com.my.package";privatestaticStringmActivityName="myActivity";privateBroadcastRecei
当用户进入和退出地理围栏时,我的应用程序使用地理围栏服务向API发送http请求。我需要根据用户是否具有GPS访问权限来停止或启动该Service。我还需要在应用程序完全关闭后发生这种情况,因为禁用定位服务会使后台服务崩溃。问题是,每当我启用或禁用位置服务时,应用程序都会崩溃并显示此堆栈跟踪:java.lang.RuntimeException:Unabletoinstantiatereceivercom.MyCompany.MyApp.GeofenceBroadcastReceiver:java.lang.ClassNotFoundException:Didn'tfindclass"
我有一个应用程序使用AlarmManager为用户通知安排警报。我将Alarm对象的一个实例传递给AlarmManager使用的PendingIntent:publicvoidscheduleAlarms(Listalarms){for(Alarmalarm:alarms){Log.d(Constants.EVERY_OTHER_ALARM_APP_LOG_TAG,"Settingalarmfor:"+newDate(alarm.getTime()).toString()+"withanintervalof"+IntervalEnumStringProvider.getInterv
当我的设备连接到wifi网络时,我想在屏幕上显示连接过程。SUPPLICANT_STATE_CHANGED_ACTION由WifiManager提供,但我不知道如何使用它。谁能帮帮我? 最佳答案 您确实可以将广播的Intent用于SUPPLICANT_STATE_CHANGED_ACTION:应用程序需要其list文件中的权限:然后注册系统广播:MyWifiStateReceiverhandler=newMyWifiStateReceiver();context.registerReceiver(handler,newIntentF
我尝试了一种使用监听PROVIDERS_CHANGED的BroadcastReceiver的方法操作,但这只会告诉我何时打开/关闭位置设置。我想知道任何应用程序何时使用位置服务来获取位置。我不需要知道是哪个应用程序在做这件事,我也不关心位置本身。我只想知道某个应用程序何时尝试获取位置,以及何时停止这样做。这可能吗? 最佳答案 我不知道你是否真的需要通过广播接收器接收通知,但如果不是绝对需要那么你可以使用GpsStatus.Listener:使用方法如下:mLocationManager.addGpsStatusListener(ne