使用Permission后的SecurityException

时间:2011-11-30 08:08:58

标签: android security permissions securityexception

我的应用程序存在严重问题。我在广播接收器中使用权限android.permission.ACCESS_COARSE_LOCATION,它运行得很好。

然而,经过一段时间(这似乎是随机的),应用程序崩溃了以下输出:

  

SecurityException用户10086和当前进程都没有权限android.permission.ACCESS_COARSE_LOCATION

我已使用<uses-permission etc />将权限包含在Manifest中,并尝试在我sendOrderedBroadcast广播权限时使其更具体,并已向广播接收方授予权限,以便它可以接收广播。

但就像我说过一段时间后,第二行代码抛出了SecurityException:

TelephonyManager Tel = (TelephonyManager) vb.getPsrC()
            .getSystemService(Activity.TELEPHONY_SERVICE);
GsmCellLocation cellLocation = (GsmCellLocation) Tel.getCellLocation();

此崩溃似乎只发生在运行Froyo的测试设备上。

在运行Gingerbread的设备上,应用程序只使用较少的内存重新启动服务,并且什么都不做。这些问题是相关的还是安全异常与应用程序崩溃互斥。

1 个答案:

答案 0 :(得分:1)

好的,结果证明罪魁祸首是内存泄漏。当GREF到达2001年时,它崩溃并基本上将其清空(缺少一个更好的短语)导致应用程序认为没有给出许可。我修理了它将phonelistener移动到服务中。

相关问题