ToB企服应用市场:ToB评测及商务社交产业平台

标题: Android体系安全权限 [打印本页]

作者: 守听    时间: 2024-8-1 20:37
标题: Android体系安全权限
Android 安全架构的中心设计点是:在默认情况下任何应用都没有权限执行对其他应用、操作体系或用户有不利影响的任何操作。这包括读取或写入用户的私有数据(例如接洽人或电子邮件)、读取或写入其他应用步伐的文件、执行网络访问、使装备保持叫醒状态等。

从 Android 6.0(API 级别 23)开始,无论您的应用面向哪个 API 级别,您都应对应用举行测试,以验证它在缺少需要的权限时行为是否正常。
应用可以通过 Activity,Fragment,和 Context 类(建议使用 Support 包中的对应类,如 ContextCompat)中三个方法和一个回调,与用户协变更态权限的授权:

对于两个特别权限 SYSTEM_ALERT_WINDOW 和 WRITE_SETTINGS,必须通过下面的方式判断授权情况,并通过 startActivity 来跳转到权限设置页去授权:

对于location权限,还需要通过 LocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)判断是否打开定位开关。
在使用 Android 权限时,需要依照以下原则:
1、最少原则,只使用 APP 所必须的权限。可能还有其他方法能实现同样的需求,而无需访问敏感信息。
2、全面原则,应用需考虑第三方库所需的权限,当 APP 包含一个库时,会继承其权限要求。
3、清晰原则,当您发出权限请求时,要让用户明确正在访问的内容以及为什么要访问,以便用户做出明智的决定。
4、显式原则,当您访问敏感功能(例如相机或麦克风)时,提供连续的提示可以让用户清楚您在收集数据,制止让用户感觉您在偷偷收集数据。
例如,您需要用装备的 Camera 来拍照,你可以通过调用 Camera 的 API 来实现这个功能,但是这需要请求 Camera 的权限;你也可以你 Intent 启动 Camera 模块来实现这个功能,但是不需要请求 Camera 的权限。
例如,媒体播放器在通话期间静音或暂停,是使用 PhoneStateListener 监听呼唤状态的更改或监听android.intent.action.PHONE_STATE的广播。该办理方案的问题是它需要 READ_PHONE_STATE权限,这需要用户同意访问敏感数据(例如其装备和 SIM 硬件 ID 以及来电的电话号码)。您可以通过为您的应用请求 AudioFocus 来制止这种情况,因为它不需要明确的权限(因为它不访问敏感信息)。只需将音频切换到后台时所需的代码放在 onAudioFocusChange()变乱处置惩罚步伐中,当操作体系移动切换其音频焦点时它将主动运行。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4