调用android.os.Looper.loop()需要在AndroidManifest.xml中指定android.permission.RECEIVE_BOOT_COMPLETED

时间:2013-01-28 20:33:02

标签: java android security

在工作中,我们通过安全扫描工具运行我们的应用程序,该工具对漏洞进行静态分析。有时它会标记与安全性无关但可能以其他方式引起问题的事物。在这种情况下,它抱怨Improper Handling of Insufficient Privileges

以下是该工具的说明:

  

这个应用程序调用android.os.Looper.loop()API   需要以下未指定的权限   AndroidManifest.xml:android.permission.RECEIVE_BOOT_COMPLETED。这些   电话不会被执行。根据实施情况,这个   条件可能会导致错误消息,或者代码将失败   默默。不满意的条件不是可利用的缺陷,而是   它们可能表示存在意外代码(例如广告)   库试图泄漏用户的GPS位置。)

但是,API docs根本没有提及android.permission.RECEIVE_BOOT_COMPLETED值或AndroidManifest.xml文件。

Looper.loop()来电确实需要android.permission.RECEIVE_BOOT_COMPLETED,还是假阳性?

2 个答案:

答案 0 :(得分:1)

这不是必需的。基本上每个Android程序都会调用Looper.loop,无论是幕后还是公开。我不明白为什么他们需要许可才能使用它。它甚至需要显示最简单的图形......我确信这在您使用的工具中是误报。

答案 1 :(得分:0)

就在这里:

http://developer.android.com/reference/android/Manifest.permission.html

它自API级别1以来一直存在。不应该太复杂而无法修复。