2015-03-05 2 views
0

Я использовал приведенный ниже код, чтобы начать сервис.Как восстановить данные о намерениях класса обслуживания android?

Start Service Code:

Intent serviceIntent = new Intent(this, MyService.class); 
      serviceIntent.putExtra(mConstants.PREF_CHANNEL_NAME, channelName); 
      startService(serviceIntent); 

MyService Код:

@Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
    if (intent != null) { 
        // Get the channel name from the string extras 
        String channelName = intent 
          .getStringExtra(mConstants.PREF_CHANNEL_NAME); 
    } else { 
        mAppUtilInstance.showToastMessage(mContext, 
          "No channel name found."); 
    } 
    return super.onStartCommand(intent, flags, startId); 
    } 

Когда я оставил свою заявку услуга будет воссоздан. Он снова будет вызывать метод onStartCommand. Теперь я хочу получить дополнительные данные с намерением. Но намерение будет нулевым. Как хранить и восстанавливать данные намерения в классе обслуживания.

Пожалуйста, помогите мне в этом.

ответ

-1

Используйте это в onStartCommand

String data=(String) intent.getExtras().get("data"); 

Edit:

Что касается получения намерения назад, есть флаг для START_REDELIVER_INTENT, который будет возвращать намерения.

+0

Учреждение имеет значение null после перезапуска службы. –

+0

проверить обновленный ответ – Fahim

+0

'Как и где установить этот флаг? –

Смежные вопросы