Как получить значение в моем классе обслуживания, которое передается из класса деятельности? - PullRequest
0 голосов
/ 19 сентября 2011

Вот мой код для передачи значения из класса активности в мой класс обслуживания.

Intent i =  new Intent(this, MyAlarmService.class);
i.putExtra("rowId", rowId);
startactivity(i);

Как я могу получить этот rowId в своем классе обслуживания?Пожалуйста, помогите мне

Ответы [ 4 ]

5 голосов
/ 19 сентября 2011

Попробуйте,

public int onStartCommand (Intent intent, int flags, int startId)
{
     super.onStartCommand(intent, flags, startId);
     String id = intent.getStringExtra("rowId");
}
2 голосов
/ 19 сентября 2011

для этого вы можете

Override onStart() -- you receive the Intent as a parameter,

и

onStart() is deprecated now. onStartCommand(Intent, int, int) should be used instead,

затем

String id = intent.getStringExtra("rowId");

или

Bundle extras = getIntent().getExtras(); 
String rowId;
if (extras != null) {
    rowId = extras.getString("rowId");          
}
0 голосов
/ 27 сентября 2014

Вы добавили дополнительно в действие

Intent intent = new Intent(this, Service.class); 
intent.putExtra("Key", "String");

Вы получаете StringExtra в классе обслуживания

String ba;    
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    ba = intent.getStringExtra("Key");
    return START_STICKY;
}
0 голосов
/ 19 сентября 2011

попробовать:

В MyAlarmService.class

в onStartCommand метод записи.

String rid = intent.getStringExtra("rowId", rowId);

вы получите ответ.

...