小米商店上架APP权限用途用户告知适配说明

MIUI11中,应政府对手机软件权限获取的合规要求,MIUI将支持三方应用通过向系统接口传输参数的方式,显示获取运行时权限的目的及用途,具体方案如下:

1.系统权限描述

MIUI11中,应政府对手机软件权限获取的合规要求,MIUI将支持三方应用通过向系统接口传输参数的方式,显示获取运行时权限的目的及用途,具体方案如下:

应用申请运行时权限时,可通过接口传输权限用途及描述,满足政府对于软件获取权限的合规要求,同时通过有效行为描述增加用户授权的可能性。

2.接口开放标准

2.1.填写权限使用申请

  • 仅支持通过小米应用商店上架的应用申请使用接口,申请时请按以下内容填写权限申请资料:
权限名称是否申请权限用途及说明(请提供简体中文及英语,中文字符不超过18个汉字)
Manifest.permission.READ_CONTACTS  
Manifest.permission.WRITE_CONTACTS  
Manifest.permission.GET_ACCOUNTS  
Manifest.permission.WRITE_CALENDAR  
Manifest.permission.SEND_SMS  
Manifest.permission.RECEIVE_SMS  
Manifest.permission.READ_SMS  
Manifest.permission.RECEIVE_MMS  
Manifest.permission.READ_EXTERNAL_STORAGE  
Manifest.permission.WRITE_EXTERNAL_STORAGE  
Manifest.permission.ACCESS_FINE_LOCATIONManifest.permission.ACCESS_COARSE_LOCATION  
Manifest.permission.READ_CALL_LOG  
Manifest.permission.WRITE_CALL_LOG  
Manifest.permission.PROCESS_OUTGOING_CALLS  
Manifest.permission.READ_PHONE_STATE  
Manifest.permission.READ_PHONE_NUMBERS  
Manifest.permission.CALL_PHONE  
Manifest.permission.ADD_VOICEMAIL  
Manifest.permission.USE_SIP  
Manifest.permission.ANSWER_PHONE_CALLS  
Manifest.permission.RECORD_AUDIO  
Manifest.permission.ACTIVITY_RECOGNITION  
Manifest.permission.CAMERA  
Manifest.permission.BODY_SENSORS  
  • 重要提示:以下权限,在MIUI 11 3.12 的开发版后将无法获取:
Manifest.permission.READ_PHONE_STATE

Manifest.permission.READ_PHONE_NUMBERS

Manifest.permission.CALL_PHONE Manifest.permission.ANSWER_PHONE_CALLS

2.2.发送权限申请至审核邮箱

填写权限使用申请后,请按如下格式将内容发送至miui-security-open@xiaomi.com

邮件主题:申请使用系统权限描述

【申请应用】填写应用名称

【应用包名】com.xxxx.xxxx

【公司主体】填写公司主体名称

【相关负责人】填写相关负责人

【联系方式】填写相关负责人联系方式

【权限申请目录】粘贴权限使用申请内容

2.3.等待审核

发送邮件后,请等待反馈,反馈时间在1-3个工作日内,若审核通过,将在反馈中提供调用方法并开设白名单。

2.4.技术接入

确定开放白名单后,请按以下方式接入:

申请示例:

private String[] permissions = new String[]{
        Manifest.permission.WRITE_EXTERNAL_STORAGE,
        Manifest.permission.CAMERA,
        Manifest.permission.RECORD_AUDIO,
        Manifest.permission.ACCESS_FINE_LOCATION
};



private String[] permissionDescs = new String[] {
        "存储用户精修美图",
        "拍摄抖音短视频",
        "游戏中进行语音交流",
        "获取地理位置来提供导航功能"
};


private List<String> mPermissionList = new ArrayList<>();
private static final int PERMISSION_REQUEST = 1;

//开始申请
for (int i = 0; i < permissions.length; i++) {
    if (ContextCompat.checkSelfPermission(this, permissions[i]) != PackageManager.PERMISSION_GRANTED) {
 mPermissionList.add(permissions[i]);
 mPermissionList.add(permissionDescs[i]);
    }
}
if (mPermissionList.isEmpty()) {
    //业务操作
} else {
    String[] permissions = mPermissionList.toArray(new String[mPermissionList.size()]);
    ActivityCompat.requestPermissions(MainActivity.this, permissions, PERMISSION_REQUEST);
}


//申请回调
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
 if (requestCode == PERMISSION_REQUEST) {
        //业务操作
    }
}

 以上是最新推荐的申请权限的方式,只需要在申请的权限数组中加上对应的权限描述即可。

2.5.注意事项

权限及传入的权限描述要一一对应,权限描述不能传入null,若不需要描述,可传入空字符串:” “。

编辑:yimen,如若转载,请注明出处:https://www.yimenapp.com/kb-yimen/12202/

部分内容来自网络投稿,如有侵权联系立删

(0)
上一篇 2022年11月24日 上午11:23
下一篇 2022年11月24日 上午11:26