问题是当从 Activity 访问 TaskTimerApplication.TEST 时,它仍然是“创建”,但在服务中它应该是“修改”。在活动访问数据之前,我已经 100% 确定我的服务正在执行其代码。下面是一个简单的测试场景,以更明显的方式呈现问题。
申请代码:
public class TaskTimerApplication extends Application {
// Static properties
private static final String TAG = "Application";
public static final boolean DEBUG = true;
public static String TEST = "Declaration";
@Override
public void onCreate() {
super.onCreate();
TEST = "Creation";
Log.v(TAG, "Created");
}
}
服务代码:
public class TaskService extends Service {
public static final String TAG = "TaskService";
@Override
public void onCreate() {
TaskTimerApplication.TEST = "Modification";
Log.d(TAG, TaskTimerApplication.TEST);
}
}
我的完整非测试代码可以在我的GitHub 项目中看到。在完整代码中,TASKS ArrayList 在活动中保持为空,但在服务中正确填充。