如何设置广播接收器以获取待处理意图(邻近警报)

时间:2012-03-19 20:40:38

标签: android android-intent android-notifications android-pendingintent

我使用广播接收器使用挂起意图(邻近警报)获取特定位置的警报 但它不会在应用程序关闭时触发任何通知或在后台如何执行此操作请帮助我设置此项 这是我在xml中试过的:

<receiver android:name=".ProximityIntentReceiver">
      <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
    </receiver>

我也在活动中注册:

IntentFilter filter = new IntentFilter(PROXIMTY_ALERT_INTENT);  
         registerReceiver(new ProximityIntentReceiver(), filter);

以这种方式我在活动正在运行时收到通知但是我关闭了它我没有得到任何通知。什么是正确的方法。

2 个答案:

答案 0 :(得分:0)

我没有找到任何有关PROXIMTY_ALERT_INTENT的文档。某些广播无法从manifest.xml注册。如果这是其中之一,则只能在应用程序生命周期内接收这些更新。

您为BOOT_COMPLETED定义的接收者需要以下权限才能工作:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>

您可以在接收器中为BOOT_COMPLETED意图启动服务,并在那里注册接近警报。通常不建议一直运行服务,您可能想要考虑另一种方法。

答案 1 :(得分:0)

您可以向意图过滤器添加更多操作,此问题可以为您提供帮助: BroadcastReceiver for location

或者可能有一种方法可以创建Listener来监听GPS位置的变化。点击此处查看信息:http://developer.android.com/reference/android/location/LocationListener.html