在android.intent.action.BOOT_COMPLETED

时间:2015-04-22 13:59:02

标签: android android-networking bootcompleted android-bootstrap

我的应用程序的接收方为android.intent.action.BOOT_COMPLETED并启动私有VPN。但是当我收到android.intent.action.BOOT_COMPLETED时,网络还没有准备好。如何启动android.intent.action.BOOT_COMPLETED并等待拥有网络状态,我该怎么办? 例如,我可以有一个android.intent.action.BOOT_COMPLETED,但手机没有互联网连接,或者我可以拥有android.intent.action.BOOT_COMPLETED,5秒后可以访问互联网。

2 个答案:

答案 0 :(得分:2)

您可以随时在一个接收器上收听多个项目:

data-toggle

因此,在启动后,您只需等待连接更改并完成您的工作。

答案 1 :(得分:1)

你可以注册听取android.net.conn.CONNECTIVITY_CHANGE动作的广播接收器。

然后检查你是否像这样连接:

public boolean isOnline(Context context) {

ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
//should check null because in air plan mode it will be null
return (netInfo != null && netInfo.isConnected());

}

来源和更多信息: Broadcast receiver for checking internet connection in android app