Android简单实现动态权限获取相机权限及存储空间等多权限

目录
  • 1.在Manifest中添加权限
  • 2.在MainActivity中添加动态获取权限函数

1.在Manifest中添加权限

2022.5.20更新
shouldShowRequestPermissionRationale这个函数在这里貌似没什么用,直接调用requestPermissions就可以了

需要什么权限就添加什么权限,这里我加了四个权限,第一个是用来干什么的忘了

READ_EXTERNAL_STORAGE 读取外部存储空间WRITE_EXTERNAL_STORAGE 写入外部存储空间CAMERA 相机权限

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
        tools:ignore="ProtectedPermissions"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>

2.在MainActivity中添加动态获取权限函数

代码如下,在OnCreate方法中调用即可,耦合性很低,非常简单

关键点在于使用或运算(|),同时显示所有权限请求
我最开始想一个一个显示,但是弹出一个权限请求之后就没有下文了,换了这种方法

private void askPermission(){
        boolean sSRPR=ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)|
                ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE)|
                ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA);
        Log.e("msg",Boolean.toString(sSRPR));
        if(sSRPR){
        	//5.20更新,直接写下面这一行
        	//begin
            ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,
                    Manifest.permission.READ_EXTERNAL_STORAGE,
                    Manifest.permission.CAMERA
            },0);
            //end
        }
    }

到此这篇关于Android简单实现动态权限获取相机权限及存储空间等多权限的文章就介绍到这了,更多相关Android获取权限内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Android 获取 usb 权限的两种方法

    前言: 最近工作上遇到几个USB模块在android平台上适配使用的情况,所以要用到USB权限获取问题 ##USB权限获取有以下2种方式: 一.直接在AndroidManifest.xml文件中进行如下配置: <activity android:name=".DemoCustomAndroidUSBActivity" android:label="@string/app_name"> <intent-filter> <action an

  • 详解Android开发录音和播放音频的步骤(动态获取权限)

    步骤: 配置权限: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.work.mediaplay"> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission> <us

  • Android获取超级管理员权限的实现

    1.定义特殊的广播接收者,系统超级管理员的广播接收者 public class MyDeviceAdminReceiver extends DeviceAdminReceiver{ @Override public void onReceive(Context context,Intent intent){ //TODO } } 2.在AndroidManifest.xml文件中,注册超级管理员的广播接收者 <receiver android:name="com.example.recei

  • Android6.0获取GPS定位和获取位置权限和位置信息的方法

    1.添加权限--6.0之后要动态获取,下面会说 <uses-permission android:name= "android.permission.ACCESS_FINE_LOCATION"/> 2.直接上代码,不多说,代码中注释很详细. private static final int BAIDU_READ_PHONE_STATE = 100;//定位权限请求 private static final int PRIVATE_CODE = 1315;//开启GPS权限

  • Android 拍照选择图片并上传功能的实现思路(包含权限动态获取)

    作为一个Android新手,想实现手机拍照并上传的功能,经过查找资料,已实现此功能.在此记录备忘.老鸟请忽略. 一.实现思路: 1.Android手机客户端,拍照(或选择图片),然后上传到服务器. 2.服务器端接收手机端上传上来的图片. 二.实现步骤: 1.按惯例,先放效果图: 项目结构: 2.activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a

  • Android普通应用升级为系统应用并获取系统权限的操作

    有时候使用某些api需要使用系统权限,如调用PackageInstaller的相关接口,需要android.permission.INSTALL_PACKAGES权限,该权限系统只会授权给系统应用,此时可以考虑将我们的应用升级为系统应用,升级为系统应用有两种方法: 1.将apk放到/system/app目录下,重启手机即可,此方法比较粗暴,而且需要修改/system目录的读写权限,因此需要root,而且随着Android系统版本对权限管理越来越严,root和修改读写权限更繁琐和复杂 2.添加sh

  • Android简单实现动态权限获取相机权限及存储空间等多权限

    目录 1.在Manifest中添加权限 2.在MainActivity中添加动态获取权限函数 1.在Manifest中添加权限 2022.5.20更新shouldShowRequestPermissionRationale这个函数在这里貌似没什么用,直接调用requestPermissions就可以了 需要什么权限就添加什么权限,这里我加了四个权限,第一个是用来干什么的忘了 READ_EXTERNAL_STORAGE 读取外部存储空间WRITE_EXTERNAL_STORAGE 写入外部存储空间

  • Android开发之permission动态权限获取详解

    Android开发之permission动态权限获取,供大家参考,具体内容如下 说明 Android 6.0 (API 23) 之前应用的权限在安装时全部授予,运行时应用不再需要询问用户.在 Android 6.0 或更高版本对权限进行了分类,对某些涉及到用户隐私的权限可在运行时根据用户的需要动态授予.这样就不需要在安装时被强迫同意某些权限. 设备系统是 Android 6.0 (API 23) 或更高版本,并且应用的 targetSdkVersion 是 23 或更高版本,则针对在 Andro

  • Android Root设备中的su权限获取和使用详解

    ROOT权限简介: ROOT权限是Linux内核中的最高权限,如果你的身份是ROOT,那么你就具有了ROOT权限.有了最高权限,你就可以为所欲为,换句话说,如果恶意程序获取到了ROOT权限,那么就可以肆意地破坏你的手机,获取的隐私...所以厂商一般在生产手机的时候,不会提供给用户ROOT权限,官方宣称是为了保护用户手机的安全,然后装了一堆开机自动启动,而用户这辈子也用不到也卸载不了垃圾软件(相信使用安卓的同学们都懂我的意思),而苹果所说的越狱,也就是获取ROOT权限. 为什么需要获取ROOT权限

  • Android 如何实现动态申请权限

    OverView 今天在复习的时候,突然复习到我们的相机操作,但是对于相机操作,对于我来说比较复杂的是对于权限的操作.所有我们需要对我们的相机操作进行一些笔记的整理,加深记忆. 开发环境 Android Studio 3.6 Android 11(R) 该笔记使用 java 权限申请的基础知识 学习自:GOOGLE ANDROID DEVELOPERS 对于我们所需要申请的权限我们需要进行如下的操作. 我们需要将所有需要申请的权限添加到App/src/main/AndroidManifest.x

  • Android 6.0动态权限及跳转GPS设置界面的方法

    1.动态权限申请 模糊的位置信息android.permission.ACCESS_COARSE_LOCATION权限为例 在AndroidManifest文件中加入权限 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 然后java代码中动态申请 //动态申请权限的测试方法 public void test() { // 要申请的权限 数组 可以同时申请多个权限 Stri

  • Android 6.0动态权限申请教程

    PermissionManage 项目地址:https://github.com/why168/AndroidProjects/tree/master/PermissionManage 介绍 如果设备运行的是 Android 6.0(API 级别 23)或更高版本,并且应用的 targetSdkVersion 是 23 或更高版本,则应用在运行时向用户请求权限. 如果设备运行的是 Android 5.1(API 级别 22)或更低版本,并且应用的 targetSdkVersion 是 22 或更

  • Vue 动态路由的实现及 Springsecurity 按钮级别的权限控制

    思路 : 动态路由实现:在导航守卫中判断用户是否有用户信息, 通过调用接口,拿到后台根据用户角色生成的菜单树, 格式化菜单树结构信息并递归生成层级路由表并 使用Vuex保存,通过  router.addRoutes  动态挂载到  router  上,按钮级别的权限控制,则需使用自定义指令去实现. 实现: 导航守卫代码: router.beforeEach((to, from, next) => { NProgress.start() // start progress bar to.meta

  • Android简单获取经纬度的方法

    本文实例讲述了Android简单获取经纬度的方法.分享给大家供大家参考,具体如下: public void getLoc() { // 位置 LocationManager locationManager; LocationListener locationListener; Location location; String contextService = Context.LOCATION_SERVICE; String provider; double lat; double lon; l

  • Android之AnimationDrawable简单模拟动态图

    Drawable animation可以加载Drawable资源实现帧动画.AnimationDrawable是实现Drawable animations的基本类. 这里用AnimationDrawable 简单模拟动态图的实现. fragment_main 布局文件 ----  只需要放一个 ImageView即可 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t

随机推荐