应用程序未运行时广播接收器不工作 运行

Broadcast Receiver not working when app is not running

当应用程序不在后台 运行 时,我的广播接收器无法工作。

尝试了不同的意图过滤器

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme.NoActionBar" >

    <receiver android:name=".network.NetworkChangeReceiver"
        android:enabled="true">
        <intent-filter>
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
        </intent-filter>
    </receiver>

    <activity
        android:name=".view.activity.MainActivity"
        android:label="@string/app_name">
    </activity>
    <activity android:name=".view.activity.BarLoginActivity"
        android:label="@string/app_name">
        <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

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

当应用程序在后台 运行 时,我的接收器工作正常,但一旦我删除我最近使用的应用程序,它就无法工作。 运行 在 API 19

我会尝试在接收方的清单定义中放置一个 android:process=":remote",以便它 运行 执行单独的任务。

还没有看到你的整个 AndroidManifest 但我的第一个怀疑是你没有适当的许可。
为了收听网络变化,您必须声明您在清单中使用此权限,如下所示

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

下一个嫌疑人是您提供的姓名,也许可以尝试提供收件人姓名的完整路径

终于可以在其他 android 手机上使用了。 因为小米手机默认不允许广播接收器和服务