1.概述
在9.0的设备开发中,对于在app中授予悬浮窗权限,也是通常用的功能,但在设备产品中预制app,需求要求默认授予悬浮窗权限,
就不需要在app中动态申请悬浮窗权限了,所以就来分析下这个实现这个功能
2.根据包名默认授予app悬浮窗权限的核心类
packages\apps\Settings\src\com\android\settings\applications\appinfo\DrawOverlayDetails.java
frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java
3.根据包名默认授予app悬浮窗权限的核心功能分析和实现
在9.0的系统中,在app动态申请悬浮窗权限的时候,都是跳转到系统设置的悬浮窗页面,然后手动打开悬浮窗权限这时app就可以使用悬浮窗功能了,所以从就需要从系统设置授予悬浮窗功能分析
3.1 DrawOverlayDetails.java关于悬浮窗功能分析
public class DrawOverlayDetails extends AppInfoWithHeader implements OnPreferenceChangeListener,
OnPreferenceClickListener {
private static final String KEY_APP_OPS_SETTINGS_SWITCH = "app_ops_settings_switch";
private static final String LOG_TAG = "DrawOverlayDetails";