java - BroadcastReceiver 没有收到任何内容

标签 java android location broadcastreceiver

我想在应用程序中接收有关启用/禁用位置提供程序的信息,例如NETWORKGPS等。我创建了简单的BroadcastReceiver:

public class TestReciver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {

        Log.v("LOCATION_CHANGE_RECEIVER", "PROVIDER UPDATE");
    }
}

并在AndroidManifest.xml中注册

  <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
      <application
                android:label="@string/app_name"
                android:icon="@drawable/ic_launcher"
                android:allowBackup="true"
                android:debuggable="true">
        <receiver android:name=".receiver.TestReciver">
            <intent-filter>
                <action android:name="android.intent.action.PROVIDER_CHANGED"/>
            </intent-filter>
        </receiver>

但是当我尝试打开/关闭 GPS 时,此 BroadcastReceiver 没有接收到任何内容。

最佳答案

将您的 Intent 过滤器更改为 android.location.PROVIDERS_CHANGED

<receiver android:name=".receiver.TestReciver"> 
    <intent-filter> 
        <action android:name="android.location.PROVIDERS_CHANGED" /> 
    </intent-filter> 
</receiver>

关于java - BroadcastReceiver 没有收到任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18032251/

相关文章:

java - 特殊毕达哥拉斯三元组答案是什么?

android - 如何防止 HTML 签名中的图像在 iphone 和 Android 上换行?

android - 境界android删除所有数据

ios - Xcode 9 - 关于 Info.plist 中位置使用说明的警告 - iOS 11

java - 如果用户在设备上选择了省电定位模式,是否可以在 Android 上获得高精度位置更新?

android - 在我使用 Fused Location Client 的 android 应用程序中,为什么我在使用此代码时会得到陈旧的 GPS

java - 确保消息的有序处理

java - Eclipse 无法删除错误

java - Netbeans 中的 JUnit 5 测试

java - 有没有类似于传统线程的onPreExecute和onPostExecute的东西?