Android 相机意图

Posted

技术标签:

【中文标题】Android 相机意图【英文标题】:Android camera intents 【发布时间】:2010-12-20 14:42:08 【问题描述】:

罗杰,

我看到您一直在修改相机意图。我遇到了真正的麻烦 一个简单的应用程序,告诉我何时按下相机按钮。你有一些代码可以帮助我吗?

谢谢。

大卫

【问题讨论】:

【参考方案1】:

在清单中,您需要声明您希望接收相机按钮的意图:

    <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>

在接收器中:

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);    

【讨论】:

以上是关于Android 相机意图的主要内容,如果未能解决你的问题,请参考以下文章

Android - 相机意图,返回空结果

Android:调用相机意图后活动被破坏

Android:调用相机意图后活动被破坏

如何在 Android 相机上使用意图添加功能裁剪图像?

Android 10 中的相机意图权限

Android相机意图:如何获得全尺寸照片?