我的应用程序出现严重问题。我使用权限 android.permission.ACCESS_COARSE_LOCATION
在广播接收器中,它运行完美。
但是在一定时间后(这似乎是随机的)应用程序崩溃并显示以下输出:
SecurityException neither user 10086 nor current process has permission android.permission.ACCESS_COARSE_LOCATION
我已使用 <uses-permission etc />
将权限包含在 list 中并试图在我 sendOrderedBroadcast
时使其更具体我也广播了许可,并已将许可授予广播接收器,以便它可以接收广播。
但就像我说的,过了一会儿,SecurityException 在代码的第二行被抛出:
TelephonyManager Tel = (TelephonyManager) vb.getPsrC()
.getSystemService(Activity.TELEPHONY_SERVICE);
GsmCellLocation cellLocation = (GsmCellLocation) Tel.getCellLocation();
这次崩溃似乎只发生在运行 Froyo 的测试设备上。
在运行 Gingerbread 的设备上,该应用程序只是使用较少的内存重新启动服务而不执行任何操作。这些问题是相关的还是安全异常与应用程序崩溃互斥。
最佳答案
好的,原来罪魁祸首是内存泄漏。当 GREF 达到 2001 时,它崩溃并基本上清空了它(因为缺少更好的短语)导致应用程序认为未授予权限。我修复了将 phonelistener 移动到服务中的问题。
关于android - 使用权限后的 SecurityException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8322844/