studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android service android-wifi

para - manual de programacion android pdf



necesita ejecutar el servicio mientras el dispositivo tiene wifi/conexión de datos (1)

Para verificar la conexión WiFi puede usar esto

ConnectivityManager connManager = (ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE); NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (mWifi.isConnected()) { // Do whatever }

Para ejecutar el código cada vez que se conecte el wifi, debe registrar Brodcast Recevier

Registra el receptor

IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION); registerReceiver(broadcastReceiver, intentFilter);

En tu clase de receptor, haz esto

@Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); if (action.equals(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION)) { if (intent.getBooleanExtra(WifiManager.EXTRA_SUPPLICANT_CONNECTED, false)) { //do stuff } else { // wifi connection was lost } }

Y como se menciona a continuación, no olvide agregar el permiso en su AndroidManifest.xml

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

La última vez, uso la siguiente codificación para ejecutar el servicio de fondo.

Intent intent = new Intent(InitActivity.this, GetService.class); PendingIntent pintent = PendingIntent.getService(InitActivity.this, 0, intent, 0); Calendar calendar = Calendar.getInstance(); AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE); alarm.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 50 * 1000, pintent); return getZipInfo.toString();

para obtener un mejor rendimiento, quiero ejecutar mi servicio en segundo plano una vez que el dispositivo se conecte a WIFI / datos. Para dejar en claro, si el dispositivo no está conectado wifi / conexión de datos, mi fondo de servicio no se ejecutará con seguridad. Una vez que conecte la conexión wifi / datos, se ejecutará de inmediato.