【问题标题】:android- static variable is renewed when service is recalled?调用服务时会更新android-静态变量吗?
【发布时间】:2017-07-24 12:40:46
【问题描述】:

我对服务中的静态变量有疑问。

我编写如下代码。

public class NotificationService extends NotificationListenerService {
    private String $previousNotificationTimestamp = "GodLovesYou";
    private static boolean $broadcastReceiverRegistered = false;

@Override
    public int onStartCommand(Intent _intent, int _flags, int _startId) {

}

服务现在正在运行,但如果服务被 Intent 调用,它将运行 onStartCommand() 方法而不是 onCreate() 方法。

在那种情况下,Service会更新静态变量值??? (这意味着 $broadcastReceiverRegistered = false)

【问题讨论】:

  • 我已经尽可能地改进了你的问题,请你把它说得更清楚吗?

标签: android variables service static


【解决方案1】:

您可以在活动中定义变量以保持其值。或者您可以在 Constants.cs 中定义变量以供全局使用。当您召回服务时,您以这种方式创建新服务,您无法保留静态变量值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 2014-01-15
    • 2019-07-13
    • 1970-01-01
    相关资源
    最近更新 更多