Android 动态申请权限
今天在测存储卡文件上传时候,发现必须要申请动态权限
应用宝,新浪微博,高德地图,等App,请求的方式也都是第一次打开就开始申请全部权限,用户一次性点个够。
这种做法不能说是流氓,因为比如高德地图最重要的就是获取地理位置功能,你直接关掉了这个权限自然App就无法正常使用了,强制你同意无可厚非;其次是每个页面都做权限处理真的太恶心了,程序员也不愿意干;再其次作为一个用户,我希望App能一次性把要的权限都让我批准一下,不要点一个页面弹出一个框,难受,我想享受酣畅淋漓的体验。
说了那么多,接下来进入正文,先看下高德地图的权限处理逻辑
再次亮出我的观点
如果必须的权限就必须要用户授予,如果不必须的权限就不要申请。
高德这个逻辑就是如此
下面看实现
代码:
清单文件中添加<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
MainActivity:
package com.collas.permission;
import android.Manifest;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.provider.Settings;
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.Bundl