camera - servicio - broadcastreceiver android studio ejemplos
android.intent.action.CAMERA_BUTTON no se transmite en Desire Z(Froyo)? (1)
No es necesario que un fabricante de dispositivos envíe transmisiones cuando se hace clic en el botón CÁMARA, según mi lectura del Documento de definición de compatibilidad. Puede que solo lo use la actividad de primer plano del Deseo Z. No tengo una Z y, por lo tanto, no puedo confirmar tus pruebas.
Dado que la gran mayoría de los dispositivos Android no tienen botón CAMERA en absoluto, deberá asegurarse de que su aplicación funcione correctamente sin dicho botón, y de que informe a los usuarios que el botón CAMERA puede o no funcionar con su aplicación, dependiendo de dispositivo.
Tengo dificultades para interceptar el botón de la cámara HW en Desire Z (Froyo). Escribí una muestra que funciona bien en G1 (1.6) pero no en el teléfono mencionado anteriormente.
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.company" android:versionCode="1" android:versionName="1.0">
<uses-sdk android:minSdkVersion="4" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".CameraReceiverTestActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:enabled="true" android:exported="true"
android:name=".CameraButtonReceiver">
<intent-filter android:priority="999">
<action android:name="android.intent.action.CAMERA_BUTTON" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
</application>
</manifest>
Y CameraButtonReceiver.java
package net.company;
public class CameraButtonReceiver extends BroadcastReceiver {
static {
Log.w("CBR", "onReceive clazz init");
}
@Override
public void onReceive(Context context, Intent intent) {
Log.w("CBR", "onReceive camera");
abortBroadcast();
}
}
En G1 (1.6) veo ambos mensajes tan pronto como presiono el botón de la cámara y la aplicación de cámara predeterminada se suprime. Sin embargo, en Desire Z (Froyo) no sucede eso. Después de jugar con prioridad, declaraciones de código / xml me atrevo a decir que este teléfono envía esta transmisión con algún otro nombre.