2

有谁知道为什么我的 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;
}
4

3 回答 3

4

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

onStartCommand(Intent intent, ...
    Bundle extras = intent.getExtras();
于 2012-10-16T08:18:49.080 回答
2

getIntent()方法是活动而不是服务。在Activity中如果你想获取当前的Intent,那么你可以调用getIntent()方法来获取Intent。在服务中,该onStartCommand()方法已经具有参数意图,因此您可以获取与意图一起传递的额外数据。

您已经从该方法中获取intent对象。onStartCommand()核实。

于 2012-10-16T08:19:16.420 回答
2

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

于 2012-10-16T08:19:37.733 回答