2

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

但是,经过一定时间(这似乎是随机的)后,应用程序崩溃并显示以下输出:

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

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

但就像我说的,一段时间后,SecurityException 会在第二行代码中抛出:

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

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

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

4

1 回答 1

1

好的,事实证明罪魁祸首是内存泄漏。当 GREF 达到 2001 年时,它崩溃并基本上清空了它(因为没有更好的短语),导致应用程序认为没有给予许可。我修复了将电话监听器移动到服务中的问题。

于 2011-12-06T05:44:57.963 回答