0

不知何故,我的大脑无法正常工作,轻度发烧也无济于事。

我有以下代码,batteryLevel 这里显示了正确的值 - 50。

public class AlarmEventService extends Service {    
    static String batteryLevel; 
    ...
    int level = intent.getIntExtra("level", 0); 
    batteryLevel = String.valueOf(level); 
    Log.i(APP_TAG, batteryLevel);
}

为什么当我获得 AlarmEventService.batteryLevel 的值时在我的外部调用中该值为空?

public class AlarmEventReceiverWake extends BroadcastReceiver { 
    ...
    Log.i(APP_TAG, "Battery Level " + AlarmEventService.batteryLevel);
}
4

1 回答 1

2

从您提供的代码来看,它没有理由不能按预期工作。可能是:

  • 另一个名为 batteryLevel 的变量可以在本地声明,因此不会将值分配给全局版本。
  • 初次调用后,可能会重置 batteryLevel 的值。

确保声明:

batteryLevel = String.valueOf(level); 

实际上之前被调用

Log.i(APP_TAG, "Battery Level " + AlarmEventService.batteryLevel);
于 2012-08-05T18:32:24.277 回答