【发布时间】:2013-07-29 10:27:25
【问题描述】:
这是我的服务类代码,previous_network_type 是全局静态变量,它没有在 oncreate() 或 onstartcommand() 函数中初始化,也不是来自 create 函数的活动,为什么有帮助?每当我使用它时,它会给我 0 值它应该在启动此服务后给我 10 但返回 0。更清楚
第一个 MyService 有 previous_network_type 变量我想在 oncreate 或 oncommand 函数中为其分配一个值 我将在另一个类中使用它是广播接收器 并且您知道广播接收器仅在事件发生时运行,所以每当发生特定事件时我想做什么我想访问这个值
public class MyService extends Service {
static int previous_network_type=0;
public void onCreate() {
previous_network_type=10;
};
public int onStartCommand(Intent intent, int flags, int startId) {
previous_network_type=10;
return Service.START_STICKY;
}
}
以及其他类的代码(下面给出广播接收器)
public void onReceive(Context context, Intent intent)
{
MyService.current_network_type=MyService.previous_network_type;
}
【问题讨论】:
-
也许变量需要公开?此外,与问题无关,您在创建结束时有一个不需要的分号。
-
如果您的 onCreate 方法运行正常,即使您的服务销毁(除了 dvm 已关闭),它也必须为 =10。
-
它工作正常我检查了 100 次
标签: android service global-variables static-members