onActivityForResult不为意图返回任何数据

问题描述 投票:0回答:1

我在视频意图触发方面遇到困难。我尝试录制不到10秒的视频和超过10秒的视频。当我在Activity上调试结果时不返回任何数据。

这是我触发事件的方式...

private void record() {
    Intent intent=new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
    if(intent.resolveActivity(getActivity().getPackageManager())!=null){
         new_video_file=getFilePath();
        Uri uri = FileProvider.getUriForFile(getActivity(),
                BuildConfig.APPLICATION_ID + ".provider",new_video_file);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
        intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0.5);
        startActivityForResult(intent,VIDEO_REQUEST);

    }
}

注意,我想将视频质量设置为中等质量,不确定我是否需要放置0.5或0.5。

你好,我刚刚在Pixel 2 XL api 27中检查了调试,它正常工作。当我在以android 9运行的motorola g 6中运行它时,它不起作用

android android-intent android-camera-intent
1个回答
0
投票

如果正确设置了FileProvider,您应该能够从设置为MediaStore.EXTRA_OUTPUT值的Uri中获取视频。

作为旁注,0.5对于视频质量不是有效值。从docs

Intent-extra的名称,用于控制记录的质量视频。这是一个整数属性。当前值0表示低质量,适用于MMS消息,值1表示高质量。在将来可能会添加其他质量级别。

此外,根据我的经验,相机应用程序开发人员应尊重您的质量要求,但并非所有人都遵守。

© www.soinside.com 2019 - 2024. All rights reserved.