我只使用一个使用SMS_Receive Intent Filter并基于接收短信的应用程序,并且几乎没有计算,问题是回到家或者回家时,应用程序仍然响应具有特殊标签的传入SMS它显示了Android屏幕桌面的祝酒词,如何完全关闭应用程序?
答案 0 :(得分:3)
您没有关闭Android应用程序。把它留给操作系统。进程保持活动状态(虽然处于休眠状态),直到操作系统决定需要更多资源。请不要试图超越它。有些应用程序会这样做,而且很糟糕。
我不明白你的意思是“应用程序仍然响应收到的短信” - 你有广播接收器吗?如果是这样,接收器始终处于活动状态。这是设计的。如果您不希望它运行,请在某处(例如SharedPreferences
)存储一个标志,并在您希望广播接收器忽略广播时将其设置为false。
答案 1 :(得分:1)
另一种方法是使用registerReceiver在您的活动的OnStart或OnResume方法中注册您的BroadcastReceiver,并使用unregisterReceiver在OnStop或OnPause中注销它。您可以这样做,而不是在清单中声明BroadcastReceiver。
这样,当按下时,广播接收器将在活动不可见时取消注册。