Pues parece que no funciona, sino es que está el código mal:
Código:
public class CheckMicActivity extends Activity {
private Button boton;
private TextView txvEstadoMute;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
boton = (Button)findViewById(R.id.botonCheck);
txvEstadoMute = (TextView)findViewById(R.id.txvEstado);
boton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Comprueba si el terminal dispone de Micrófono
boolean elMIC = getPackageManager().hasSystemFeature(getPackageManager().FEATURE_MICROPHONE);
if(elMIC == true){
txvEstadoMute.setText("Este dispositivo SI dispone de Micrófono");
} else {
txvEstadoMute.setText("Este dispositivo NO dispone de Micrófono");
}
}
});
}
}
Layout:
<?xml version="1.0" encoding="utf-8"?>
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
tools:context=".CheckMicActivity"
tools:ignore="HardcodedText" >
<Button
android:id="@+id/botonCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="fill"
android:text="@string/comprobar_micr_fono" />
<TextView
android:id="@+id/txvLabelEstado"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Disponibilidad" />
<TextView
android:id="@+id/txvEstado"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
</LinearLayout>
Manifest:
<?xml version="1.0" encoding="utf-8"?>
package="com.ejemplos"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15"/>
<uses-feature android:name="android.hardware.microphone" android:required="false" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".CheckMicActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Así en el emulador y en una Tablet sin Micrófono, me dice:
Este dispositivo SI dispone de Micrófono
Saludos!