【问题标题】:Grab intent information from a service, only once从服务中获取意图信息,仅一次
【发布时间】:2013-08-08 06:36:51
【问题描述】:

我正在运行一项服务。我的理想过程是调用一次方法,获取意图/附加内容并设置参数,然后在给定的时间内运行我的服务。

据我了解,onCreate() 只被调用一次,而 onStartCommand 每次调用你的服务时都会被调用。这目前使我处于落后的情况,我想调用一次的方法无法访问意图额外内容,并且我不想在每次通过具有意图访问权限的方法调用 startService 时重新分配参数(或我应该不在乎这种情况吗?)。

是否只有这样才能以我想要的方式实现我想要的事情,如果它已经在运行,只限制启动服务的能力?

提前致谢。

【问题讨论】:

    标签: android android-intent service oncreate


    【解决方案1】:

    在 onCreate 中放置一个静态 int 标志,并在第一次调用时将其提升为 1,然后在 OnStartcommand 中检查此标志是否为 1,如果为零,则执行您想做的任何事情,否则什么也不做

      static int flag=0;
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
        flag=1
    }
    public int onStartCommand(Intent intent, int flags, int startId) {
    if(flag==0){
    //run ur code
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多