确定服务是在过去调用还是当前调用 - 对于已安装的应用程序

时间:2017-03-23 00:07:05

标签: android

我有一个应用程序,其中包含一项服务,该服务会针对应用程序收到的每条短信进行调用。该应用程序本身有一个非常特定的目的,短信接收支持这一目的。

此短信接收服务已经稳定工作了很长时间,然后在一个特定的一天,它停止响应短信,并继续不响应。

我有那款手机,想要在失败状态下对其进行最小程度的中断调查。我担心更新可能会修复"问题!

应用程序在内部记录了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检测服务是否被调用?

0 个答案:

没有答案