我的应用程序存在严重问题。我在广播接收器中使用权限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的设备上,应用程序只使用较少的内存重新启动服务,并且什么都不做。这些问题是相关的还是安全异常与应用程序崩溃互斥。
答案 0 :(得分:1)
好的,结果证明罪魁祸首是内存泄漏。当GREF到达2001年时,它崩溃并基本上将其清空(缺少一个更好的短语)导致应用程序认为没有给出许可。我修理了它将phonelistener移动到服务中。