1

如果我会使用以下代码:

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePictureIntent,1);

它会正确启动默认的 Android 相机应用程序......我已经编写了一个自定义相机应用程序,但是如何让 Android 知道它是一个相机应用程序,并且应该让用户选择使用哪个相机应用程序。

换句话说,如果我使用上面的代码,我的应用程序应该启动,而不是默认的 android 应用程序。

4

1 回答 1

3

但是如何让 Android 知道它是一个相机应用程序,并且应该让用户选择使用哪个相机应用程序。

对那个动作有一个<intent-filter>on an :<activity>

<intent-filter>
  <action android:name="android.media.action.IMAGE_CAPTURE" />
  <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

下次有人执行您的上述startActivityForResult()调用时,您将与支持该Intent结构的任何其他内容一起出现在选择器中。

于 2013-04-25T14:13:22.840 回答