hoew 2017-05-05 08:58 采纳率: 0%
浏览 827

Android 如何复写framework层的package访问控制权限的方法

framework层有这么一个类
图片说明

我同包下建一个类,来继承并复写他,可为什么package(默认)访问权限的方法不能被复写呢?
图片说明

我试了自己打jar包,然后引用jar包,在同包名下新建类的是可以继承并复写package(默认)访问权限的方法的啊?

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 20:19
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Android中,package权限通常用于访问当前项目的资源文件夹。当你在你的项目中创建一个新的类时,你不需要提供这个权限,因为Android系统会自动为新的类提供这些权限。

    然而,如果你尝试从其他包中引入这个类,并试图修改它的行为,那么你需要提供相应的package权限。例如:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        // 复写package权限方法
        if (!getActivity().hasPermission(PACKAGE_WRITE_SETTINGS)) {
            requestPermissions(new String[]{PACKAGE_WRITE_SETTINGS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
        }
    }
    

    在这个例子中,我们检查当前活动是否具有PACKAGE_WRITE_SETTINGS权限。如果没有,我们就请求这项权限。

    请注意,这只是一个示例,实际的权限请求可能有所不同。在处理权限时,请务必小心,以避免任何潜在的安全问题。

    评论

报告相同问题?