如何强制WiFi广播接收器运行onReceive至少一天一次,即使WiFi是所有的时间



在我的应用程序中,我有一个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不仅仅是CONNECTIVITY_CHANGE事件,例如电池相关的事件,实际上每天都被触发,并确保执行任何你需要的onReceive()方法

相关内容

最新更新