这是我将值从活动类传递到服务类的代码。
Intent i = new Intent(this, MyAlarmService.class);
i.putExtra("rowId", rowId);
startactivity(i);
如何在服务类中获取rowId? 请帮帮我
答案 0 :(得分:5)
试试这个,
public int onStartCommand (Intent intent, int flags, int startId)
{
super.onStartCommand(intent, flags, startId);
String id = intent.getStringExtra("rowId");
}
答案 1 :(得分:2)
为此你可以
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");
}
答案 2 :(得分:0)
你在活动
中加了额外的东西Intent intent = new Intent(this, Service.class);
intent.putExtra("Key", "String");
您在服务类
中获得StringExtraString ba;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
ba = intent.getStringExtra("Key");
return START_STICKY;
}
答案 3 :(得分:-1)
尝试:
在MyAlarmService.class
在onStartCommand
方法中写。
String rid = intent.getStringExtra("rowId", rowId);
你会得到答案。