我正在使用 BroadcastReceiver,需要根据传入的 SMS 消息找到手机的 GPS 位置。
我正在使用一个非常标准的类,它在回调中返回 LocationResult 但如果我在 BroadcastReceiver 类中使用它,那么它可能需要很长时间并被操作系统杀死。
我试过使用服务,但如果两个事件同时发生,它会导致 ANR 问题。
我听说在 BroadcastReceiver 中使用线程是灾难的根源,所以甚至没有尝试过。
我现在使用 IntentService 对传入请求进行排队并处理 GPS 位置查找器。我的问题是如何使用带有回调的代码,以便在 onHandleIntent 完成时它不会死?我考虑过使用睡眠,但它似乎不是一个完美的解决方案。
有一个更好的方法吗?我必须使用广播接收器,但需要一种聪明的方法让 GPS 在 15-20 秒内找到位置。
任何想法将不胜感激!(这里是安卓菜鸟)。