我在我的 AndroidManifest.xml 中收到关于此接收器的警告导出接收器不需要权限:
<receiver android:name="org.thieftracker.SmsReceiver" android:enabled="true">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
<action android:name="android.intent.action.ACTION_BATTERY_LOW"/>
<action android:name="android.intent.action.ACTION_BATTERY_OKAY"/>
</intent-filter>
</receiver>
我理解这个问题,我通过改变第一行来解决它:
<receiver android:name="org.thieftracker.SmsReceiver" android:enabled="true" android:exported="false">
但它在调试启动时崩溃。我通过删除回滚android:exported="false"
但它仍然崩溃: ActivityThread.handleBindApplication(ActivityThread$AppBindData) line: 4070
我试图清理项目,它仍然崩溃。我唯一的解决方案是删除我的整个工作区并复制备份!
我猜它来自 Eclipse IDE。
任何想法 ?
更新:
找到了!
我忘记在我的 AndroidManifest (WAKE_LOCK) 中添加权限。我仍然不明白为什么在缺少权限时它曾经工作过。我猜它来自 AndroidManifest.xml 上的一些缓存/更新内容,
我也浪费了很多时间,因为我不知道如何使用 LogCat 和 DDMS 视图。关于这一点,我仍然不知道在哪里可以找到堆栈跟踪!
我把 bug 放回去了,我还在和 IDE 斗争,用魔法再次找到堆栈跟踪
java.lang.RuntimeException: Unable to create application org.thieftracker.ThiefTracker: java.lang.SecurityException: Neither user 10029 nor current process has android.permission.WAKE_LOCK
我到底从哪里弄来的?!