while(true)
我有一个聊天客户端活动,它使用循环不断过滤传入的数据包。根据数据包中包含的消息,我需要启动和停止服务。该服务执行密集的长时间运行任务。由于该服务在调用者 Activity 的同一线程中启动,因此我无法启动该服务并继续过滤数据包,否则会显示 ANR 对话框。我怎样才能让活动和服务都完成他们的任务以及活动以便以后能够通知/停止服务?
我在一个新线程中启动了该服务,但仍然给出了 ANR。
编辑:仅当在调用服务时停止数据包过滤时,使用AsyncTask和BroadcastReceiver才有效。同时做这两个给出ANR。