getIntent()方法在android服务的onStartCommand()方法中是未定义的

时间:2012-10-16 08:17:01

标签: android service android-intent undefined onstart

有谁知道为什么我的getIntent()方法未定义为android服务和onStartCommand()方法内部?

   @Override
public int onStartCommand(Intent intent, int flags, int startId){
super.onStartCommand(intent, startId, startId);

Intent i = getIntent();
Bundle extras = i.getExtras();
filename = extras.getString("filename");


 return START_STICKY;
}

3 个答案:

答案 0 :(得分:3)

因为意图作为函数的参数传递...

onStartCommand(Intent intent, ...
    Bundle extras = intent.getExtras();

答案 1 :(得分:2)

getIntent()方法属于Activity not of Service。在Activity中,如果要获取当前的Intent,则可以调用getIntent()方法来获取意图。在服务中,onStartCommand()方法已经具有参数intent,因此您可以获取使用intent传递的额外数据。

您已从intent方法获取onStartCommand()个对象。检查一下。

答案 2 :(得分:2)

getIntent类中没有Service()方法。您可以使用传递给onStartCommand

的intent参数