有没有熟悉android6.0源码的大神呀!6.0权限的问题?

android6.0权限机制不是修改了吗!我们公司现在要把权限改回来,默认权限都要打开,哪位大神知道怎么改呀,就是首次进需要权限的应用,不提示是否允许获得权限。。,而是直接 进去

5个回答

你设置你的api level 小于23试试,如果大于23,系统默认会给出提示的。

你好,这个我知道,修改小于23就不会再提示,我们是做系统源码的,这种修改方法只能单一的修改某个应用不提示,现在是要源码中修改后,api23也不提示获得权限

android 运行时权限 6.0之后
一类是Normal Permissions,这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动、访问网络等
另一类是Dangerous Permission,一般是涉及到用户隐私的,需要用户进行授权,比如读取sdcard、访问通讯录等。
所以,不涉及用户隐私的权限就在清单文件配置,涉及隐私的还是要动态申请.

android 6.0的权限是默认没打开的,码农要检查是否已经获取权限,示例代码

/**
 * android.Manifest.permission.ACCESS_FINE_LOCATION 定位
 * android.Manifest.permission.CAMERA 相机
 * android.Manifest.permission.RECORD_AUDIO 录音
 *
 * @param activity
 * @param type   例如"android.Manifest.permission.RECORD_AUDIO"
 */
public static boolean getPremission(Activity activity, String type) {
    int REQUEST_CODE_ASK_PERMISSIONS = 123;

    if (Build.VERSION.SDK_INT >= 23) {
        int hasWriteContactsPermission = activity.checkSelfPermission(type);
        //若未配置该权限
        if (hasWriteContactsPermission != PackageManager.PERMISSION_GRANTED) {
            //申请配置该权限
            activity.requestPermissions(new String[]{type}, REQUEST_CODE_ASK_PERMISSIONS);
            //直接返回,不执行insertDummyContact()方法
            return false;
        }

    }
    return true;
}

不添加6.0运行时权限,只需在moudle的build.gradle文件中将 targetSdkVersion 23的值改到22或者以下,这样就会跳过权限检查机制。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!