Android Manifest.xml解析

时间:2012-09-25 18:54:26

标签: android android-manifest

我是android系统开发的新手。我有一些Android应用程序开发的经验。 我想修改android权限模型,需要在我的自定义android风格中提供额外的权限集。 举个例子 <uses-permission android:name="com.example.project.My_Permission_Setting" /> 这是一个开发人员方面的功能,而不是用户端功能。

任何人都可以帮助我或指向一个资源(除了Android开发者页面:)),这使我可以解析清单和处理这些权限的位置..

先谢谢!! :)

2 个答案:

答案 0 :(得分:1)

我不知道这是否是一个完整的解决方案,但我认为这是一个方向:

        PackageManager pm = context.getPackageManager();
        String permission = "YOUR.CUSTOM.PERMISSION";
        try
        {
            pm.getPermissionInfo(permission, PackageManager.GET_PERMISSIONS);
        } 
        catch (PackageManager.NameNotFoundException e) 
        {
           e.printStackTrace();
           // Your permission does not exist...
        }

答案 1 :(得分:1)

您可以使用自定义权限保护应用程序的组件。为此,您应在清单文件<permission>中声明权限。然后,在组件声明(activity,service,broadcastreceiver,contentprovider)中,您应该在属性(android:permission="string")中指定此权限。

如果您想添加一个保护Android系统部分的权限,那么您需要深入了解Android系统编程。但我认为你不需要这种类型的许可。

修改

您可以在Android来源的文件frameworks/base/core/res/AndroidManifest.xml中指定新权限。要查看Android解析器的工作原理,请尝试查看frameworks/base/services/java/com/android/server/PackageManagerService.java