Android 解决OPPO 5.1 浮窗权限不兼容问题

时间:2021-08-27 05:36:53

OPPO 5.1 浮窗权限开启并不像大多Android机那样在手机设置中,而是在OPPO的系统软件-手机安全中心-中,

故跳转到权限界面,需要做特殊处理。

1.判断是否为 OPPO 5.1 系统

if(Utils.isOppo() && Utils.getAndroidVersion().equals("5.1")) {
        compat = new OppoCompatImpl();
      } 

2.通过包名、Activity名跳转到指定权限界面

public class OppoCompatImpl extends BelowApi23CompatImpl {
    @Override
    public boolean isSupported() {
        return true;
    }

    @Override
    public boolean apply(Context context) {
        try {
            Intent intent = new Intent(Intent.ACTION_MAIN);
            ComponentName componentName = new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.floatwindow.FloatWindowListActivity");
            intent.setComponent(componentName);
            context.startActivity(intent);
            return true;
        } catch(Exception e){
            e.printStackTrace();
        }
        return false;
    }
}