2016-9-12

2016-9-12

1.android 6.0运行时权限

1.需要设置targetSdkVersion>=23时, 才会使用此功能, 如果设置targetSdkVersion<=22即使手机是6.0的系统也仍是采用旧的权限管理策略
2.6.0中把权限分成两类:
    一. 不涉及用户隐私的普通权限,需要的AndroidManifest.xml声明,使用的是旧的权限管理策略,如:网络 蓝牙等
        参考地址:https://developer.android.com/guide/topics/security/normal-permissions.html
            ACCESS_LOCATION_EXTRA_COMMANDS
            ACCESS_NETWORK_STATE
            ACCESS_NOTIFICATION_POLICY
            ACCESS_WIFI_STATE
            BLUETOOTH
            BLUETOOTH_ADMIN
            BROADCAST_STICKY
            CHANGE_NETWORK_STATE
            CHANGE_WIFI_MULTICAST_STATE
            CHANGE_WIFI_STATE
            DISABLE_KEYGUARD
            EXPAND_STATUS_BAR
            GET_PACKAGE_SIZE
            INSTALL_SHORTCUT
            INTERNET
            KILL_BACKGROUND_PROCESSES
            MODIFY_AUDIO_SETTINGS
            NFC
            READ_SYNC_SETTINGS
            READ_SYNC_STATS
            RECEIVE_BOOT_COMPLETED
            REORDER_TASKS
            REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
            REQUEST_INSTALL_PACKAGES
            SET_ALARM
            SET_TIME_ZONE
            SET_WALLPAPER
            SET_WALLPAPER_HINTS
            TRANSMIT_IR
            UNINSTALL_SHORTCUT
            USE_FINGERPRINT
            VIBRATE
            WAKE_LOCK
            WRITE_SYNC_SETTINGS
    二. 涉及用户隐私的危险权限, 也需要在AndroidManifest.xml声明,并且需要开发者主动申请并在用户同意后才能使用该权限涉及到的功能, 如果开发者没有主动申请这类权限会导致app崩溃, 对于这类权限最好能在app启动时就申请一些必须的权限, 其他非必须的可以在使用时再申请,避免同时申请过多权限
        参考地址:https://developer.android.com/guide/topics/security/permissions.html#perm-groups
            CALENDAR(日历) 
                READ_CALENDAR
                WRITE_CALENDAR
            CAMERA(相机) 
                CAMERA
            CONTACTS(联系人) 
                READ_CONTACTS
                WRITE_CONTACTS
                GET_ACCOUNTS
            LOCATION(位置) 
                ACCESS_FINE_LOCATION
                ACCESS_COARSE_LOCATION
            MICROPHONE(麦克风) 
                RECORD_AUDIO
            PHONE(手机) 
                READ_PHONE_STATE
                CALL_PHONE
                READ_CALL_LOG
                WRITE_CALL_LOG
                ADD_VOICEMAIL
                USE_SIP
                PROCESS_OUTGOING_CALLS
            SENSORS(传感器) 
                BODY_SENSORS
            SMS(短信) 
                SEND_SMS
                RECEIVE_SMS
                READ_SMS
                RECEIVE_WAP_PUSH
                RECEIVE_MMS
            STORAGE(存储卡) 
                READ_EXTERNAL_STORAGE
                WRITE_EXTERNAL_STORAGE
3.使用基本流程
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {// 没有权限。
    if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_CONTACTS)) {
            // 用户拒绝过这个权限了,应该提示用户,为什么需要这个权限。
    } else {
        // 申请授权。
        ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_CONTACTS}, 100);
    }
}

...

@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
    switch (requestCode) {
        case 100: {
            if (grantResults.length > 0
                && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                // 用户同意申请的权限
            } else {
                // 用户拒绝了申请的权限
            }
            return;
        }
    }
}
shouldShowRequestPermissionRationale():在用户第一次拒绝后, 再次对莫个权限调用此方法返回true;
    在用户第二次拒绝并勾选不再提醒后,再次调用此方法会返回false;
    在系统的权限管理中禁止应用的此权限会返回false.
本关任务:分析出每年每月哪个搜索词被搜索次数最多。 编程要求 根据提示,在右侧编辑器补充代码,分析出每年每月哪个搜索词被搜索次数最多。 创建数据库:mydb 创建原始表:db_search 字段名 类型 注释 id string 用户编号 key string 搜索关键词 ranking int 该URL在返回结果中的排名 or_der int 点击顺序 url string 域名 time string 时间 部分数据如下: 数据切分方式:空格 数据所在位置:/root/data.txt 测试说明 平台会对你编写的代码进行测试: 预期输出: 2016-1 [陋俗] 71 2016-2 [陋俗] 202 2016-3 [陋俗] 194 2016-4 [陋俗] 181 2016-5 [陋俗] 197 2016-6 [陋俗] 210 2016-7 [陋俗] 202 2016-8 [陋俗] 206 2016-9 [陋俗] 152 2016-10 [陋俗] 193 2016-11 [陋俗] 176 2016-12 [陋俗] 191 2017-1 [陋俗] 195 2017-2 [陋俗] 193 2017-3 [陋俗] 202 2017-4 [陋俗] 202 2017-5 [陋俗] 189 2017-6 [陋俗] 208 2017-7 [陋俗] 186 2017-8 [陋俗] 201 2017-9 [陋俗] 202 2017-10 [陋俗] 211 2017-11 [陋俗] 192 2017-12 [陋俗] 196 2018-1 [陋俗] 192 2018-2 [陋俗] 170 2018-3 [陋俗] 221 2018-4 [陋俗] 190 2018-5 [陋俗] 192 2018-6 [陋俗] 193 2018-7 [陋俗] 193 2018-8 [陋俗] 194 2018-9 [陋俗] 175 2018-10 [陋俗] 189 2018-11 [陋俗] 207 2018-12 [陋俗] 203 2019-1 [陋俗] 176 2019-2 [陋俗] 172 2019-3 [陋俗] 211 2019-4 [陋俗] 174 2019-5 [陋俗] 188 2019-6 [陋俗] 193 2019-7 [陋俗] 195 2019-8 [陋俗] 205 2019-9 [陋俗] 118
最新发布
06-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值