如何以编程方式在android中重新启动服务?

如何以编程方式在android中重新启动服务?,第1张

概述在 Android中,我有一个具有不同活动和服务的应用程序.这些活动用于直接用户交互,用户可以在其中更改数据,更新数据,输入数据等. 应用程序还使用用户输入的数据(库存数据)运行(后台)服务.如果某些条件匹配,该服务定期检查股票价格(例如每12小时)并向用户发出通知. 但是,作为用户,我希望能够更改此服务的设置.我启动应用程序,并可以在存储在SharedPreference中的应用程序活动之一中输 在 Android中,我有一个具有不同活动和服务的应用程序.这些活动用于直接用户交互,用户可以在其中更改数据,更新数据,输入数据等.

应用程序还使用用户输入的数据(库存数据)运行(后台)服务.如果某些条件匹配,该服务定期检查股票价格(例如每12小时)并向用户发出通知.

但是,作为用户,我希望能够更改此服务的设置.我启动应用程序,并可以在存储在SharedPreference中的应用程序活动之一中输入更新间隔.我可以更改该值,例如,让服务每3小时检查一次库存数据.

那我必须’重启’服务吗?据我了解 *** 作系统中的“服务”,该服务会在某些事件停止之前运行.但是,如果服务没有停止,服务不会“注意到”更新间隔已经改变!因此,在我的主要应用程序的活动中,我需要一些方法来“重启”服务,因此它会在3小时内检查股票价格,而不是在12小时内检查!

知道怎么做到这一点?谷歌搜索并没有真正帮助.也许我找错了关键词……?

解决方法 一个简单的解决方案,因为您的服务在与应用程序相同的过程中运行,将服务的onCreate方法中的OnSharedPreferencechangelistener注册到活动正在更新的相同SharedPreferences.

然后,每次优先更改onSharedPreferenceChanged(…)将在您的服务中调用.您可以检查更新间隔首选项何时更改并相应地更新服务,而无需重新启动它.

总结

以上是内存溢出为你收集整理的如何以编程方式在android中重新启动服务?全部内容,希望文章能够帮你解决如何以编程方式在android中重新启动服务?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1125759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存