视频直播系统源码,保存平台视频内容到本地
视频直播系统源码,保存平台视频内容到本地
首先,动态获取权限,非常重要
1 | <br> //在进入主页面时动态获取(记得在清单文件中添加)<br>if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {<br> requestPermissions(new String[]{"android.permission.CAMERA",<br> "android.permission.READ_EXTERNAL_STORAGE",<br> "android.permission.WRITE_EXTERNAL_STORAGE"},101);<br> } |
话不多说,直接上代码
1 | <br> //在自己手机本地选择一个路径用于存储<br>private String path = "/sdcard/下载/Photo/";<br>@OnClick(R.id.fra_person_iv_photo)<br> public void onViewClicked() {<br> //点击打开相机<br> Intent intent = new Intent();<br> intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);<br> //设置输出路径<br> path = path+getNowTime()+".jpg";<br> Uri uri = FileProvider.getUriForFile(getActivity(), "com.example.android_mvp_dagger", new File(path));<br> intent.putExtra(MediaStore.EXTRA_OUTPUT,uri);<br> startActivityForResult(intent,102);<br> }<br>//提供一个方法获取当前时间<br> private String getNowTime() {<br> Date date = new Date();<br> SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd-HH:mm:ss");<br> return simpleDateFormat.format(date);<br> }<br> @Override<br> public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {<br> super.onActivityResult(requestCode, resultCode, data);<br> //判断是否调用成功<br> if(requestCode == 102 && resultCode == Activity.RESULT_OK) {<br> //这里使用Glide进行加载图片<br> GlideUtils.getInstance().CommonGlide(getActivity(),String.valueOf(path),fraPersonIvPhoto);<br> }<br> } |
完成这些还是不够的,还需要在清单文件中再配置一下
1 | <br><application<br> android:name= ".MyApp" <br> android:allowBackup= "true" <br> android:icon= "@mipmap/ic_launcher" <br> android:label= "@string/app_name" <br> android:requestLegacyExternalStorage= "true" <br> android:roundIcon= "@mipmap/ic_launcher_round" <br> android:supportsRtl= "true" <br> android:theme= "@style/AppTheme" <br> android:usesCleartextTraffic= "true" <br> tools:ignore= "GoogleAppIndexingWarning" ><br> <meta-data android:name= "design_width" android:value= "1080" /><br> <meta-data android:name= "design_height" android:value= "1920" />android:name= ".mvp.view.MainActivity" ><br> <intent-filter><br> <action android:name= "android.intent.action.MAIN" /><br> <category android:name= "android.intent.category.LAUNCHER" /><br> </intent-filter><br> </activity><br> <provider<br> //这是一个权限,一定记得添加<br> android:grantUriPermissions="true"<br> //这是你项目的包路径<br> android:authorities="com.example.android_mvp_dagger"<br> //导入FileProvider的包路径<br> android:name="androidx.core.content.FileProvider"><br> //进入上面这条语句,可以获取到我们所需的下面这句话<br> <meta-data android:name="android.support.FILE_PROVIDER_PATHS"<br> //这是一个xml文件,里面配置了我们的根路径<br> android:resource="@xml/path" /><br> </provider><br> </application> |
这是上面所需的XML文件
1 | <br><?xml version= "1.0" encoding= "utf-8" ?><br><paths xmlns:android= "http://schemas.android.com/apk/res/android" ><br> <external-path<br> name= "mypath" <br> //这个一定要是SD后的那部分,不可写上SD卡<br> path= "下载/Photo/" /><br></paths> |
以上就是视频直播系统源码,保存平台视频内容到本地, 更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2021-07-22 直播视频网站源码,使用ViewPager实现基本的翻页效果
2021-07-22 直播带货app开发,echarts地图数据信息流向图
2021-07-22 直播视频app源码,js设置iframe高度无效