仿抖音短视频系统源码,获取系统图片
仿抖音短视频系统源码,实现获取系统图片的相关代码如下:
首先开权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
但是实际上还需要动态申请权限
package com.example.mediaeidaprovierdemo;import android.Manifest;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.RemoteException;
import android.provider.MediaStore;
import android.provider.Settings;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.Toast;import static android.content.pm.PackageManager.PERMISSION_GRANTED;public class MainActivity extends AppCompatActivity {private ContentResolver mProvider;private static final int NOT_NOTICE = 2;//如果勾选了不再询问private AlertDialog alertDialog;private AlertDialog mDialog;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);myRequetPermission();}private void myRequetPermission() {if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PERMISSION_GRANTED) {ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);} else {run();Toast.makeText(this, "您已经申请了权限!", Toast.LENGTH_SHORT).show();}}private void run() {ImageView imageView = findViewById(R.id.iv_main_show);String filePath;mProvider = getContentResolver();Cursor cursor = mProvider.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{MediaStore.Images.Media.DATA},null, null, null, null);int columnIndex = cursor.getColumnIndex(MediaStore.Images.Media.DATA);if (cursor.moveToFirst()) {filePath = cursor.getString(columnIndex);Bitmap bitmap = BitmapFactory.decodeFile(filePath);imageView.setImageBitmap(bitmap);}cursor.close();}@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == NOT_NOTICE) {myRequetPermission();//由于不知道是否选择了允许所以需要再次判断}}@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {super.onRequestPermissionsResult(requestCode, permissions, grantResults);if (requestCode == 1) {for (int i = 0; i < permissions.length; i++) {if (grantResults[i] == PERMISSION_GRANTED) {//选择了“始终允许”run();Toast.makeText(this, "" + "权限" + permissions[i] + "申请成功", Toast.LENGTH_SHORT).show();} else {if (!ActivityCompat.shouldShowRequestPermissionRationale(this, permissions[i])) {//用户选择了禁止不再询问AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setTitle("permission").setMessage("点击允许才可以使用我们的app哦").setPositiveButton("去允许", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int id) {if (mDialog != null && mDialog.isShowing()) {mDialog.dismiss();}Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);Uri uri = Uri.fromParts("package", getPackageName(), null);//注意就是"package",不用改成自己的包名intent.setData(uri);startActivityForResult(intent, NOT_NOTICE);}});mDialog = builder.create();mDialog.setCanceledOnTouchOutside(false);mDialog.show();} else {//选择禁止AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setTitle("permission").setMessage("点击允许才可以使用我们的app哦").setPositiveButton("去允许", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int id) {if (alertDialog != null && alertDialog.isShowing()) {alertDialog.dismiss();}ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);}});alertDialog = builder.create();alertDialog.setCanceledOnTouchOutside(false);alertDialog.show();}}}}}
}
以上就是仿抖音短视频系统源码,获取系统图片的相关代码,更多内容欢迎关注之后的文章
本文转载自网络,转载仅为分享干货知识,如有侵权欢迎联系云豹科技进行删除处理
仿抖音短视频系统源码,获取系统图片相关推荐
- 仿抖音短视频APP源码html网页图片和文字水平居中垂直居中显示
div相对于页面水平居中显示: 核心代码:margin:0 auto: /意思为:div的外边距上下为0px,左右居中显示;/ /前提是position为相对定位;不能为absolute绝对定位/ * ...
- 仿抖音短视频APP源码,刷新屏幕计时,重置系统休眠计时
仿抖音短视频APP源码,刷新屏幕计时,重置系统休眠计时的相关代码,可同时实现息屏状态下亮屏, 或者即将息屏时, 重置系统休眠计时 PowerManager mPowerManager = (Power ...
- 如何开发仿抖音短视频APP源码?
如何开发仿抖音短视频APP源码? 流程列表 开发一个短视频最主要的流程分为 3 个,下面我将分步教你实现这 3 个流程下的各个功能点,功能点 API 可按需调用: 视频拍摄 a.启动拍摄 b.给拍摄添 ...
- 仿抖音短视频APP源码如何开发抖音类似特效
仿抖音短视频APP源码如何开发抖音类似特效 1.特效概览 特效列表 特效列表 2.『灵魂出窍』 抖音的实现效果如下: 灵魂出窍 我的实现效果如下: ezgif.com-rotate.gif 代码实现 ...
- 仿抖音短视频APP源码,滚动视图
仿抖音短视频APP源码,滚动视图相关的代码 在xml中添加滚动视图 垂直方向上滚动 <?xml version="1.0" encoding="utf-8" ...
- 仿抖音短视频APP源码,顶部导航栏切换详解
仿抖音短视频APP源码,顶部导航栏切换详解的相关代码 class DaoHangNan extends StatefulWidget //继承StatefulWidget{TabController ...
- 仿抖音短视频APP源码,底部弹窗对话框
仿抖音短视频APP源码,底部弹窗对话框的相关代码 核心代码 final Dialog dialog = new Dialog(this, R.style.BottomDialogStyle); Vie ...
- 短视频源码仿抖音短视频APP源码短视频平台源码短视频源码
[WoShop仿抖音短视频源码的主要功能] 1.短视频带货:关联商品的短视频封面会有商品标识,短视频内容中会弹出商品链接 2.直播带货:短视频源码支持直播功能,直播间内可开启带货功能 3.邀请赚钱:用 ...
- 仿抖音短视频APP源码Android轻松实现日期选择器、生日选择器、自定义起始时间
代码实现 代码实现比较简单 按照步骤 你也可以实现同样的效果 第一步 设置依赖 android 和androidX都可以 //时间选择器 implementation 'com.contrarywin ...
- 仿抖音短视频APP源码android布局悬停顶部效果
实现: 1.导入design库 implementation 'com.android.support:design:28.0.0' 2.布局 <android.support.design.w ...
最新文章
- redis序列化_实例讲解Springboot以Template方式整合Redis及序列化问题
- 4G+宽带高歌猛进:移动双线虐杀联通
- 房价预测 search Search 中对数据预处理的学习
- 天涯python_python 網絡爬蟲(一)爬取天涯論壇評論
- 《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.4 示例:使用按钮集装饰单选框...
- Java并发编程:volatile关键字解析(转载)
- OWIN之中间件用法示例
- iWebOffice使用VBA控制字体
- 如何使用Internet Download Manager批量下载音乐素材?
- Java-JPEG图片生成器
- 微信点拼多多砍价显示服务器吃撑,微信狠起来自己人都打?最严外链规范实行,微视、拼多多砍价链接被限制!...
- 您选择的不是数据库安装目录_您不是您的数据,但您的数据仍然是您
- 开题报告:基于java医院在线预约挂号系统 毕业设计论文开题报告模板
- 共享 || 19份2020关于直播的报告
- 函数式程序设计为什么至关重要(转载)
- 打造百亿量级、亿级日活SDK的十大关键要点
- 微信域名防封,细说微信域名防封技术原理
- Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)
- android 恢复照片误删,安卓手机数据恢复:红米手机照片误删怎么恢复
- toooomuch和toooomuch2的wp
热门文章
- 大学计算机基础完整性约束,大一大学计算机基础题库含12份
- scrapy学习03--异步aiohttp练习
- Pointet++ Tutorial
- linux下面安装geant4,Ubuntu 12.04 下Geant4的安装
- html5页面文件打包,Webpack入门(四)——HTML打包
- 第三方支付接口示例代码
- 微信小程序开发者工具中版本管理的实现一(微信小程序tgit)
- 域控服务器新建共享文件夹,在ActiveDirectory中如何创建共享文件夹?
- 小程序横向scroll-view组件自动滚动到某个view
- 15类一面试就知道不靠谱的公司