Home | History | Annotate | Download | only in monitoring-device-state
      1 page.title=Cmo determinar y controlar el tipo de conector y el estado de la conexin
      2 parent.title=Cmo optimizar la duracin de la batera
      3 parent.link=index.html
      4 
      5 trainingnavtop=true
      6 previous.title=Cmo controlar el nivel de batera y el estado de carga
      7 previous.link=battery-monitoring.html
      8 next.title=Cmo determinar y controlar el estado de la conectividad
      9 next.link=connectivity-monitoring.html
     10 
     11 @jd:body
     12 
     13 <div id="tb-wrapper"> 
     14 <div id="tb">
     15 
     16 <h2>En esta seccin puedes aprender:</h2>
     17 <ol>
     18   <li><a href="#CurrentDockState">Cmo solicitar el foco de audio</a></li>
     19   <li><a href="#DockType">Cmo determinar el tipo de conector actual</a></li>
     20   <li><a href="#MonitorDockState">Cmo supervisar los cambios en el tipo de conector o en el estado del mismo</a></li>
     21 </ol>
     22 
     23 
     24 <h2>Tambin puedes consultar:</h2>
     25 <ul>
     26   <li><a href="{@docRoot}guide/components/intents-filters.html">Intentos y filtros de intentos</a>
     27 </ul>
     28 
     29 </div> 
     30 </div>
     31 
     32 <p>Los dispositivos Android se pueden conectar a distintos tipos de conectores. Por ejemplo, se puede utilizar conectores para coche o domsticos y tanto digitales como analgicos. Normalmente, el estado del conector est vinculado al estado de carga, ya que muchos conectores cargan el dispositivo mientras est conectado.</p>
     33 
     34 <p>El modo en el que el estado del conector del telfono afecta a la frecuencia de actualizacin depende de tu aplicacin. Puedes aumentar la frecuencia de actualizacin de una aplicacin sobre noticias cuando el dispositivo est conectado a un conector de escritorio o inhabilitar las actualizaciones completamente si est conectado a un conector de coche. Por el contrario, puedes maximizar las actualizaciones si el dispositivo est conectado a un conector de coche y tu servicio en segundo plano se actualiza con el estado del trfico.</p>
     35 
     36 <p>El estado del conector se emite tambin como un {@link android.content.Intent} persistente, lo que te permite consultar si el dispositivo est conectado o no y, si lo est, determinar el tipo de conector.</p>
     37 
     38 
     39 <h2 id="CurrentDockState">Cmo determinar el estado de conexin actual</h2> 
     40  
     41 <p>La informacin sobre el estado del conector se incluye como informacin adicional en una emisin persistente de la accin {@link android.content.Intent#ACTION_DOCK_EVENT}. Por ello, no es necesario registrar un {@link android.content.BroadcastReceiver}. Solo tienes que ejecutar {@link android.content.Context#registerReceiver registerReceiver()} transmitiendo {@code null} como el receptor de emisin, como se muestra en el fragmento de cdigo que aparece a continuacin.</p>
     42 
     43 <pre>IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
     44 Intent dockStatus = context.registerReceiver(null, ifilter);</pre>
     45 
     46 <p>Puedes extraer el estado actual de la conexin de la informacin adicional de {@code EXTRA_DOCK_STATE}:<p>
     47 
     48 <pre>int dockState = battery.getIntExtra(EXTRA_DOCK_STATE, -1);
     49 boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;</pre>
     50 
     51 
     52 <h2 id="DockType">Cmo determinar el tipo de conector actual</h2> 
     53 
     54 <p>Si un dispositivo est insertado en un conector, se puede conectar a cualquiera de estos cuatro tipos de conectores: 
     55 <ul><li>coche,</li>
     56 <li>escritorio,</li>
     57 <li>escritorio de gama baja (analgico),</li>
     58 <li>escritorio de gama alta (digital).</li></ul></p>
     59 
     60 <p>Ten en cuenta que las ltimas dos opciones se introdujeron en Android nicamente en el nivel 11 del API. Por ello, te recomendamos que compruebes las tres opciones solo cuando te interese ms el tipo de conector que si se trata de un conector digital o analgico:</p>
     61 
     62 <pre>boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
     63 boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK || 
     64                  dockState == EXTRA_DOCK_STATE_LE_DESK ||
     65                  dockState == EXTRA_DOCK_STATE_HE_DESK;</pre>
     66 
     67 
     68 <h2 id="MonitorDockState">Cmo supervisar los cambios en el tipo de conector o en el estado del mismo</h2> 
     69 
     70 <p>Cuando el dispositivo est conectado a un conector o desconectado del mismo, se emite la accin {@link android.content.Intent#ACTION_DOCK_EVENT}. Para controlar los cambios que se produzcan en el estado del conector del dispositivo, solo tienes que registrar un receptor de emisin en el archivo de manifiesto de la aplicacin, como se muestra en el fragmento que aparece a continuacin:</p>
     71 
     72 <pre>&lt;action android:name="android.intent.action.ACTION_DOCK_EVENT"/></pre>
     73 
     74 <p>Puedes extraer el estado y el tipo de conector en la implementacin del receptor con las mismas tcnicas que se han descrito en el paso anterior.</p>
     75