【问题标题】:Android Intent Save PathAndroid Intent 保存路径
【发布时间】:2009-12-22 08:37:38
【问题描述】:

目前我正在使用两个意图。一个用于录音,另一个用于摄像:

Intent photoIntent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(photoIntent, ACTIVITY_TAKE_PHOTO);

Intent voiceIntent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
startActivityForResult(voiceIntent, ACTIVITY_RECORD_SOUND);

我的目标是为每个包含存储图片/录制语音的路径的内容添加一个 Extra。有没有办法这样做?

【问题讨论】:

    标签: android camera android-intent recorder


    【解决方案1】:

    您可以使用 EXTRA_OUTPUT extra 为使用 ACTION_IMAGE_CAPTURE 拍摄的图像指定目标 Uri(但不能使用 RECORD_SOUND_ACTION;为此,返回的包将包含文件路径)。

    一个例子可以在here找到,摘录如下:

    粗略地引用yanokwa

    // fire off the intent
    Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,
               Uri.fromFile(new File("<temp file path here>")));
    startActivityForResult(i, mRequestCode);
    

    顺便说一句,类似的问题可以在here找到。

    【讨论】:

    • 非常感谢这个解决方案......这是我正在寻找的代码。但是在测试这个时我遇到了同样的问题,链接中的人也有。当我单击“确定”按钮时,相机活动不执行任何操作。如链接中所述,相机应用程序似乎没有写权限。除了重写相机应用程序之外,这个问题没有任何解决方案吗?
    • 好的,我现在在 htc hero 上尝试了它(在我使用模拟器之前)。我发现照片通常可以通过媒体应用程序查看。换句话说:照片被保存到正常的照片目录中。并且 EXTRA.OUTPUT 没有效果。任何想法为什么?!
    【解决方案2】:

    我不确定,但我的第一个想法是设置意图的数据 uri,看看是否有任何作用。

    【讨论】:

      【解决方案3】:

      AFAIK 这不可能通过触发 Intents 来实现。

      当给定的活动返回时,图片/语音数据应该在结果中。获取该数据,然后将其从您的活动中保存到您想要的位置。摄像机/录像机活动只是处理图片/音频,然后将结果返回给您进行处理。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-12
        • 1970-01-01
        • 1970-01-01
        • 2016-01-30
        • 1970-01-01
        • 2014-07-12
        • 2023-04-10
        • 1970-01-01
        相关资源
        最近更新 更多