如何获取从活动类传递的服务类中的值?

时间:2011-09-19 05:29:32

标签: android service android-intent

这是我将值从活动类传递到服务类的代码。

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

如何在服务类中获取rowId? 请帮帮我

4 个答案:

答案 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");

您在服务类

中获得StringExtra
String 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);

你会得到答案。