【问题标题】:No Activity found to handle Intent { act=android.media.action.IMAGE_CAPTURE }未找到处理 Intent { act=android.media.action.IMAGE_CAPTURE } 的 Activity
【发布时间】:2012-02-20 00:24:01
【问题描述】:

我在尝试调用 ACTION_IMAGE_CAPTURE Intent 时在我的 Android 应用程序中收到以下崩溃报告。这段代码已经在我的应用程序中运行了几个月,没有任何问题。我猜这是特定类型手机的特定内容,但不幸的是,谷歌没有向我提供堆栈跟踪之外的任何其他信息。任何想法可能导致此崩溃报告?

堆栈跟踪

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.media.action.IMAGE_CAPTURE }
    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1409)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379)
    at android.app.Activity.startActivityFromChild(Activity.java:3067)
    at android.app.Activity.startActivityForResult(Activity.java:2847)

生产代码

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, MY_CAMERA_ACTIVITY_REQUEST_CODE);

清单条目

<uses-sdk android:minSdkVersion="7" />
<uses-feature android:name="android.hardware.camera" />

【问题讨论】:

    标签: android android-intent


    【解决方案1】:

    我想到了一些事情 1.可以是平板,kindle fire没有摄像头。 2.没有摄像头的手机 3. 没有安装SD卡

    我同意您会认为调用图像捕获意图是一种安全的操作,但是由于运行 Android 的设备如此之多,因此无法知道您的应用在哪个设备上运行。

    【讨论】:

    • 谢谢。我误解了“使用功能”的目的,认为如果设备没有摄像头,Android Market 会过滤掉我的应用程序。 “声明的 元素仅供参考,这意味着 Android 系统本身在安装应用程序之前不会检查设备上的匹配功能支持。”我发现了另一个帖子,其中有一个关于如何执行检查以查看相机是否存在的示例。如果他们的设备没有摄像头,我将最终实现类似的功能并向用户显示一条消息。
    • 得到同样的错误,但有一个带摄像头和 SD 卡的模拟设备。它也不是平板电脑。在使用 API 7 和 8 的设备上遇到错误。有什么提示吗?
    猜你喜欢
    • 2021-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多