将数据从活动发送到服务

Chi*_*tan 5 android android-service

如何将数据从当前数据发送ActivityService在特定时间运行的后台类?我尝试过上课,Intent.putExtras()但我没Service上课

Activity调用中的类中的代码Service

Intent mServiceIntent = new Intent(this, SchedulerEventService.class);
        mServiceIntent.putExtra("test", "Daily");
        startService(mServiceIntent);
Run Code Online (Sandbox Code Playgroud)

Service课堂上的代码。我TREID摆在onBind()onStartCommand()。这些方法都不能打印该值。

@Override
public IBinder onBind(Intent intent) {
    //Toast.makeText(this, "service starting", Toast.LENGTH_SHORT).show();

    //String data = intent.getDataString();

    Toast.makeText(this, "Starting..", Toast.LENGTH_SHORT).show();

    Log.d(APP_TAG,intent.getExtras().getString("test"));


    return null;
}
Run Code Online (Sandbox Code Playgroud)

Hoa*_*yen 4

你的代码应该是onStartCommand. 如果你从不调用bindService你的活动onBind将不会被调用,并使用getStringExtra()而不是getExtras()

@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
    Toast.makeText(this, "Starting..", Toast.LENGTH_SHORT).show();
    Log.d(APP_TAG,intent.getStringExtra("test"));
    return START_STICKY; // or whatever your flag
}
Run Code Online (Sandbox Code Playgroud)