【问题标题】:Android Applications permission accessAndroid 应用程序权限访问
【发布时间】:2012-07-11 20:46:19
【问题描述】:

我们知道,当一个应用程序安装在 android (/system/app 文件夹) 中时,它会被系统分配一个 userid 和 groupid (在 Linux 文件系统中使用),并且应用程序配置保存在 package.xml 中。像文件管理器应用程序

<package name="com.android.filemanager" code Path ="/system/app/  FileManager.apk" flags="1" ts="1314087422000" version="1"  userId="10036"> 

此 xml 中没有权限标记。那么它从哪里获得执行权限? .. 有什么方法可以获得这个应用程序的权限。

【问题讨论】:

    标签: android operating-system


    【解决方案1】:

    This 提供了有关为什么无法如此轻松地获得权限的见解。

    不过,您可以在应用程序中使用此代码在列表中动态获取其权限:

    final List<PackageInfo> permissions_list = getApplicationContext().getPackageManager().getInstalledPackages(PackageManager.GET_PERMISSIONS);
    

    使用您返回的PackageInfos 的this 属性来获取清单中&lt;uses-permission&gt; 标记声明的所有权限的字符串数组,而不是您在cmets 中编写的权限。

    由于上述文档链接中所述的安全预防措施,也无法以编程方式更改这些权限,但有一些应用程序允许阻止根设备的某些权限。我从来没有用过,所以我不知道它们是否有效。

    【讨论】:

    • @baba_tenor 是否有任何方法可以通过 root 访问更改此权限?
    • 并且返回权限列表的列表对于每个包都是空的(Permissions_list.permissions return null)。那么我们如何以这种模式获得 dr-r-r 以及如何编辑它?
    【解决方案2】:

    在我的情况下,package.xml 位于数据/系统路径中,它包含所有带有包的权限列表

    【讨论】:

    • 在那个 package.xml 中有在 android 中使用的权限列表。清单文件。但我想知道这种模式下的系统权限-w-r-e。请在 Eclipse 中附加一个设备转到 DDMS .. 按照流程窗口。您可以在 -r-r-2 中以这种格式查看权限。这个模式保存在哪里
    猜你喜欢
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 2017-08-24
    • 2021-04-19
    • 1970-01-01
    相关资源
    最近更新 更多