我有一个应用程序,其中包含一项服务,该服务会针对应用程序收到的每条短信进行调用。该应用程序本身有一个非常特定的目的,短信接收支持这一目的。
此短信接收服务已经稳定工作了很长时间,然后在一个特定的一天,它停止响应短信,并继续不响应。
我有那款手机,想要在失败状态下对其进行最小程度的中断调查。我担心更新可能会修复"问题!
应用程序在内部记录了SMS的处理过程,但收到后却稍晚。自首次失败以来,收到任何短信的内部日志中都没有记录。
调查此问题的最佳方法是确定服务是否在其开始失败的当天被调用,并且能够立即向其发送SMS并告知是否调用该服务 - 无需卸载或更新APK。
服务在清单中用
声明<receiver android:name="myapp.services.SmsReceiver" >
<intent-filter android:priority="999" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
该服务实现为:
public class SmsReceiverService extends IntentService {
public SmsReceiverService() {
super("SmsReceiverService");
// etc...
}
protected void onHandleIntent(Intent intent) {
Log.v(TAG, "SmsReceiverService.onHandleIntent");
// etc...
}
// etc...
}
如何为安装的apk检测服务是否被调用?