一:网络监听广播
NetWorkReceiver mNetWorkReceiver = new NetWorkReceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(mNetWorkReceiver, intentFilter);
广播内操作:
@Override public void onReceive(Context context, Intent intent) { if (isNetworkConnected(context)) { MyLog.d( TAG,"网络已连接"); mFTPManager.initHttp(); } else { MyLog.d( TAG,"网络连接已断开"); } } //网络是否有连接 public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo(); if (mNetworkInfo != null && mNetworkInfo.isAvailable()) { return mNetworkInfo.isAvailable(); } } return false; }
二:开机广播
(注:需开启过一次才能监听到)
<receiver android:name=".DeviceStateReceiver" > <intent-filter > <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver>
if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")){ //具体操作 }