Cod*_*ing 20 service android android-intent
我必须将参数从MyActivity.class传递给TestService.class.MyActivity是一个Activity类,TestService是我用来发送消息的服务.我必须将参数从Activity传递给Service,但是当我Intent i = getIntent();在服务类中调用时,我得到一个错误getIntent()是未定义的.
那么,如何将参数从我的Activity发送到服务?
Lun*_*nar 59
像这样开始你的服务;
Intent ir=new Intent(this, Service.class);
ir.putExtra("data", data);
this.startService(ir);
Run Code Online (Sandbox Code Playgroud)
您附加数据作为额外的意图.
然后从服务中检索数据;
data=(String) intent.getExtras().get("data");
Run Code Online (Sandbox Code Playgroud)
因此,您可以从onHandleIntent或onStartCommand Intent参数访问您的参数.(取决于您运行的服务类型)例如;
服务
protected void onStartCommand (Intent intent, int flags, int startId) {
data=(String) intent.getExtras().get("data");
}
Run Code Online (Sandbox Code Playgroud)
public int onStartCommand(Intent intent,int flags,int startId)
IntentService
protected void onHandleIntent(Intent intent) {
data=(String) intent.getExtras().get("data");
}
Run Code Online (Sandbox Code Playgroud)
protected abstract void onHandleIntent(Intent intent)