intenções de câmera Android

votos
0

Roger,

Vejo que você foi mexer com as intenções da câmara. Estou tendo problemas reais apenas começando um aplicativo simples para me dizer quando o botão da câmera foi pressionado. Você tem algum código para me ajudar no meu caminho.

Obrigado.

David

Publicado 26/11/2009 em 09:33
fonte usuário
Em outras línguas...                            


1 respostas

votos
3

No manifesto, você precisa declarar que deseja receber a intenção para o botão da câmera:

    <receiver android:name="domain.namespace.CameraReceiver">
        <intent-filter>
            <action android:name="android.intent.action.CAMERA_BUTTON"/>
        </intent-filter>
    </receiver>
    <activity android:name="domain.namespace.MyCameraActivity"
            android:label="@string/app_name" android:screenOrientation="landscape" android:icon="@drawable/camera"
        android:clearTaskOnLaunch="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    <intent-filter>
            <action android:name="android.media.action.IMAGE_CAPTURE" />
            <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
    </activity>

No receptor:

public void onReceive(Context context, Intent intent) {
  KeyEvent event = (KeyEvent) intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);

  if (event == null) {
    return;
  }

  //prevent the camera app from opening
  abortBroadcast();    

  Intent i = new Intent(Intent.ACTION_MAIN);
  i.setClass(context, MyCameraActivity.class);
  i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  context.startActivity(i);    
}
Respondeu 01/12/2009 em 19:14
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more