首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果是MediaStore.INTENT_ACTION_VIDEO_CAMERA,则startActivityForResult没有回调

MediaStore.INTENT_ACTION_VIDEO_CAMERA是Android系统中的一个常量,用于启动视频录制的相机应用程序。当使用该常量调用startActivityForResult方法时,如果没有回调,可能是由于以下几个原因:

  1. 权限问题:在AndroidManifest.xml文件中,确保已经声明了相机和存储权限。例如:
代码语言:txt
复制
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  1. 设备不支持:某些设备可能不支持视频录制功能或者没有安装相应的相机应用程序。在使用MediaStore.INTENT_ACTION_VIDEO_CAMERA之前,可以通过PackageManager类的queryIntentActivities方法来检查是否有可用的相机应用程序。
  2. 请求代码或回调处理错误:确保正确设置了请求代码,并在调用startActivityForResult后处理回调。请求代码用于标识不同的请求,而回调则在相机应用程序完成录制后返回结果。例如:
代码语言:txt
复制
int REQUEST_VIDEO_CAPTURE = 1;
Intent intent = new Intent(MediaStore.INTENT_ACTION_VIDEO_CAMERA);
startActivityForResult(intent, REQUEST_VIDEO_CAPTURE);

然后,在Activity中重写onActivityResult方法来处理回调结果:

代码语言:txt
复制
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {
        // 处理录制成功的情况
        Uri videoUri = data.getData();
        // 其他操作...
    }
}

对于腾讯云相关产品,可以使用腾讯云的云存储服务 COS(对象存储)来存储和管理视频文件。COS提供了高可靠性、高可扩展性的存储服务,适用于各种场景,包括视频存储和分发。您可以通过以下链接了解更多关于腾讯云 COS 的信息:

腾讯云 COS 产品介绍:https://cloud.tencent.com/product/cos

请注意,以上答案仅供参考,具体实现可能因环境和需求而异。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Fragment中调用startActivityForResult的那些坑

); } } (2)onActivityResult方法 通过断点调试的方法,我们会发现最先被的就是父Activity的onActivityResult,也就是我们的FragmentActivity...onActivityResult方法,这个时候我们必须在onActivityResult方法加上super.onActivityResult(),否则Fragment中的onActivityResult方法就没有办法调到了...(intent, requestCode); } 所以从源码也可以看出,这种方式最后不会Fragment的onActivityResult方法 总结 在Fragment中调用startActivityForResult...()方法而导致Fragment中死活接收不到onActivityResult的。...super.onActivityResult()方法,Fragment中的onActivityResult方法就会 其实,说白了就是在Fragment中直接调用startActivityForResult

2K10
  • Android-使用Intent传递数据

    方法获取到用于启动SecondActivity的Intent, 然后调用getStringExtra()方法,传入相应键值,就可以得到传递的数据, 由于传递的是字符串,所以调用该方法,如果传递的是整型使用...getIntExtra(),如果是布尔型 则用,getBooleanExtra()方法,以此类推。...StartActivityForResult()接收两个参数, 第一个参数还是Intent, 第二个参数是请求码,用于在中判断数据的来源。...由于使用的是startActivityForResult()方法启动的SecondActivity的, 在被销毁之后会调上一个活动的onActivityResult()方法,因此需要重写这个方法:...由于在一个活动中有可能调用startActivityForResult()方法启动很多不同的活动, 每一个活动返回的数据都会onActivityResult()方法,因此需要先判断requestCode

    1.2K30

    Android开发中,怎样调用摄像机拍照以及怎样从本地图库中选取照片

    启动照相机,这里传入的参数1,其实只要是固定一个值都行, //比较好的做法是声明一个全局常量比较好,我在这里没有这么做...(intent, 2); } break; case 2://裁剪好了的图片此方法的case 2,这个时候我们就要将裁剪好的图片设置到...e.printStackTrace(); } } break; case 3://本地图库选取图片后,此方法的...document类型的话,就取出document id处理,如果不是,就普通方式处理 //另外,我们又对uri的权限部分进行判断,如果是media格式,document id还要再次进行解析...if (DocumentsContract.isDocumentUri(this, uri))//判断如果是document类型,通过document id处理 {

    65330

    【Android基础】利用Intent在Activity之间传递数据

    启动一个Activity: 在用startActivityForResult()来启动一个Activity时,Intent的写法与startActivity()是一样的,没有任何区别,只是你需要传递一个额外的...Integer的变量作为启动参数,当启动的那个Activity退出时这个参数会被作为函数的一个参数,用来区分返回结果,也就是说你启动Activity时传递的参数(requestCode)和返回结果时的那个参数...Activity中进行了重载,startActivityForResult(intent, requestCode, null);方法就不贴出来了。...()启动的Activity完成任务退出时,系统会你调用Activity的onActivityResult()方法,这个方法有三个参数: resquestCode : 启动Activity时传递的requestCode...如果是你自己写的Intent作为返回结果你会很清楚,但是如果是调用的系统APP(相机,联系人等),那么Intent返回结果格式你应该清楚的知道。

    1.5K60

    Android MIUI通知类短信权限的坑

    就拿READ_SMS这个权限来说,按照安卓规范来动态申请,它不弹窗让用户允许,然后却是成功的,到设置里一看,该权限还是询问状态。这什么逻辑啊!...所以你没有权,也限监听不到的。我也不知道这个权限完整的名字叫什么,看设置里只有两种状态(没有询问,估计也没法动态申请)。...目前有一种方案就是你引导用户去开启,但是现在短信都是通知条的形式,还会有个复制按钮,这样做其实多此一举,但如果是其他敏感权限或许有这么做的价值。...然后在需要的Activity调用goPermissionSettings(Activity activity); 2、在相应activity重写onActivityResult,根据request_code,就直接执行需要用到权限的业务代码...但是用户到底给了权限没,其实也没法判断,只能“盲”(自己创的一个词)需要权限的代码,所以需要try/catch一下,崩了就说明没有权限,没问题就说明给了权限。

    3.7K30

    再见!onActivityResult!你好,Activity Results API!

    随着应用的扩展,onActivityResult方法各种嵌套、耦合严重、难以维护。 最常见的场景就是调用系统相机相册获取照片了。...1002 const val REQUEST_ALBUM = 1003 const val REQUEST_CROP = 1004 } } 各种处理结果都耦合在onActivityResult里...,并且还得定义一堆额外的常量REQUEST_CODE,用与判断是哪个请求的结果。...registerForActivityResult方法,该方法由ComponentActivity或者Fragment提供,接受2个参数,第一个参数就是我们定义的Contract协议,第二个参数是一个...MyActivityResultContract,registerForActivityResult方法的返回值是ActivityResultLauncher, 因此我们定义了一个myActivityLauncher,方法中

    1.8K20

    再见!onActivityResult!你好,Activity Results API!

    随着应用的扩展,onActivityResult方法各种嵌套、耦合严重、难以维护。 最常见的场景就是调用系统相机相册获取照片了。...1002 const val REQUEST_ALBUM = 1003 const val REQUEST_CROP = 1004 } } 各种处理结果都耦合在onActivityResult里...,并且还得定义一堆额外的常量REQUEST_CODE,用与判断是哪个请求的结果。...registerForActivityResult方法,该方法由ComponentActivity或者Fragment提供,接受2个参数,第一个参数就是我们定义的Contract协议,第二个参数是一个...MyActivityResultContract,registerForActivityResult方法的返回值是ActivityResultLauncher, 因此我们定义了一个myActivityLauncher,方法中

    1.6K40

    是时候丢掉 onActivityResult 了 !

    结果可用时,通过该接口通知。需要注意的一点是,由于 prepare() 方法的泛型限制,这里的返回值 result 一定是类型安全的。下表是系统内置协议和其返回值类型的对应关系。...大致流程就是,自动生成 requestCode,注册并存储起来,绑定生命周期,当收到 Lifecycle.Event.ON_DESTROY 事件时,自动解绑注册。...picture : $result") } pictureCustomBt.setOnClickListener { takePictureCustom()} 这样就可以调用系统相机拍照并在结果中拿到...有时候我们可能会在结果中进行一些复杂的处理操作,无论是之前的 onActivityResult() 还是上面的写法,都是直接耦合在视图控制器中的。...通过新的 Activity Result API,我们还可以单独的类中处理结果,真正做到 单一职责 。

    72920

    Android EditText长按菜单中分享功能的隐藏方法

    最终解决方案 这里先说下最终解决方案 像华为/oppo等手机,该菜单实际是谷歌系统的即没有改过源代码,像小米的菜单则是自定义,该部分的源代码改动过。...{ } } 2.小米等手机自定义菜单无法进行隐藏,可以是分享、搜索等功能失效,即在BaseActivity的startActivityForResult中进行跳转拦截,如果是调用系统的分享/搜索功能...mTextView.getSelectionEnd()); return false; } } ··· } 生成的菜单的方法populateMenuWithItems(menu)中,生成完菜单会执行自定义的...getCustomCallback() , 看下该回如何赋值。...createEditorIfNeeded(); mEditor.mCustomSelectionActionModeCallback = actionModeCallback; } 因此我们可以在自定义

    2.9K10

    startActivityForResult被标记为弃用后,如何优雅的启动Activity?

    class.java)) } 代码一看完,是不是第一感觉不对啊,怎么感觉比之前还复杂了,其实这里是为了让你更直观的了解到这个registerForActivityResult到底是什么东西,所以对载体、定义协定、...其实不然,因为上面代码的需求是一个单一的,所以看着似乎startActivityForResult更便于维护和使用。...ActivityResultCallback 通过名字就可以了解到这是启动Activity并返回到当前Activity时的结果。...除了StartActivityForResult(),Android还提供了以下的默认协定以便于开发者的使用 ActivityResultContracts.* 说明 参数 StartActivityForResult...) // 必须在super.onCreate()后初始化 initMangeStartActivity // 因为需要使用 SavedStateRegistry 来保存状态

    2.4K20

    再见 onActivityResult!你好 Activity Results API

    PS: 关于Android的博客文章,以后都会使用Kotlin来进行展示,还没有学习Kotlin的小伙伴抓紧学习波咯,这是Android的趋势。...但随之产生了许多问题,随着应用功能不断添加迭代,onActivityResult方法会存在各种处理数据的,嵌套严重,难以维护,并且还得定义一堆额外的常量REQUEST_CODE,用于判断是哪个请求的结果...使用registerForActivityResult方法,该方法由ComponentActivity或者Fragment提供,接受2个参数,第一个参数就是我们定义的Contract,第二个参数是一个...调用系统相机拍照,并将图片保存到指定Uri地址,返回true保存成功。...register方法接受一个LifecycleOwner,在合适的生命周期将回存入或移除Map,保证响应的时机正确。

    1.4K30

    Activity详解

    onStart // onStart 此方法被时表示Activity正在启动,此时Activity已处于可见状态,只是还没有在前台显示,因此无法与用户进行交互。...onResume // onResume 当此方法时,说明Activity已在前台可见,可与用户交互了(处于前面所说的Active/Running形态),onResume方法与onStart的相同点是两者都表示...onPause // onPause 此方法被表示Activity正在停止(Paused形态),一般情况下onStop方法会紧接着被。...注意:这个activity的onCreate,onStart,onResume不会被,因为他们并没有发生改变。)...比如activityA,系统首先会寻找是否存在A想要的任务栈,如果没有创建一个新的任务栈,然后把activityA压入栈,如果存在任务栈,然后再看看有没有activityA的实例,如果实例存在,那么就会把

    1.1K30
    领券