Hola, estoy trabajando en una aplicación que genera un evento cuando los auriculares se eliminan del teléfono móvil. He creado un receptor de radiodifusión con recibir métodoBroadcastReceiver para desconectar auriculares
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
Log.i("Broadcast Receiver", "Hello");
if((action.compareTo(Intent.ACTION_HEADSET_PLUG)) == 0) //if the action match a headset one
{
int headSetState = intent.getIntExtra("state", 0); //get the headset state property
int hasMicrophone = intent.getIntExtra("microphone", 0);//get the headset microphone property
if((headSetState == 0) && (hasMicrophone == 0)) //headset was unplugged & has no microphone
{
//do whatever
}
}
}
llamada a este método de la siguiente manera
IntentFilter receiverFilter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
HeadSetBroadCastReceiver receiver = new HeadSetBroadCastReceiver();
registerReceiver(receiver, receiverFilter);
También he registra esto en manifestarse como
<receiver android:name=".HeadsetBroadCastReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_HEADSET_PLUG"/>
</intent-filter>
</receiver>
y el permiso
Pero esto no funciona puede ¿Me guiaste a través de esto?
¿Chicos comunes nadie podría guiarme? – Sumit
[Verifique esto] (http: // stackoverflow.com/questions/4092438/intent-action-headset-plug-is-received-when-activity-starts) –
[Esto funciona] (http://stackoverflow.com/a/6366238/726863) –