Android 如何强制WiFi广播接收器每天至少运行一次onReceive,即使始终使用WiFi

Android 如何强制WiFi广播接收器每天至少运行一次onReceive,即使始终使用WiFi,android,Android,在我的应用程序中,我有一个WiFi广播接收器,如果WiFi网络可用,它会触发一些操作 问题是,我必须每天至少启动一次这些操作,假设用户一直处于WiFi网络下,onReceive方法将永远不会被调用 那么,我如何确保那里发生的事情每天至少发生一次呢 public class WiFiReceiver extends BroadcastReceiver { private Context context; @Override public void onReceive(Context conte

在我的应用程序中,我有一个WiFi广播接收器,如果WiFi网络可用,它会触发一些操作

问题是,我必须每天至少启动一次这些操作,假设用户一直处于WiFi网络下,onReceive方法将永远不会被调用

那么,我如何确保那里发生的事情每天至少发生一次呢

public class WiFiReceiver extends BroadcastReceiver {

private Context context;

@Override
public void onReceive(Context context, Intent intent) {
    this.context = context;
    ConnectivityManager conMan = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = conMan.getActiveNetworkInfo();
    if (netInfo != null && netInfo.getType() == ConnectivityManager.TYPE_WIFI) {
        Log.d("asd", "WIFI");
        // DO THE THING
    } else {
        Log.d("asd", "NO WIFI");
    }
} // End of onReceive
明显地

    <receiver android:name=".receivers.WiFiReceiver" >
        <intent-filter>
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
        </intent-filter>
    </receiver>


我不想做得太过分,每天都会触发这些动作的警报。

我想到的一个想法是注册BroadcastReceiver不仅仅是为了连接\u更改事件,例如电池相关事件,实际上每天都会触发,并确保在onReceive()上执行您需要的任何操作方法。

那么您想要不使用报警的报警吗?但报警管理器正是您要寻找的。如果没有其他方法,ok会这样做。这很聪明。你能给我举一个这样的例子吗?有一个动作显示电池电量的变化。但它需要从java代码显式注册,因为它是一个粘性广播。我也会注意动作电池好的,动作电池电量低,动作电源接通,ActNyPoPixDePixDeDe:强烈的考虑到这一点:但是,即使这一天可能不会发生:几天的电源设备或低功率模式的大电池。当然,实际上我从来没有听说过任何一个在电源上停留几天的移动设备,那么它就不会有那么多“移动”了:D?我还没听说过任何设备可以有这么大的电池,这样它就不会触发动作\电池\更换事件