将数据从 activity 传递到服务? Android

Pass data from activity to service ? Android

我可以通过 IntentService 传递多少数据。我将 7 个数据传递给 Service 但后两个是 null .

此代码在 MainActivity.class :

    Intent Class = new Intent(MainActivity.this, Class_Service.class);
    Class.putExtra("Url", URL);
    Class.putExtra("Username", Username);
    Class.putExtra("PASSWORD", PASSWORD);
    Class.putExtra("Mobile", Mobile);
    Class.putExtra("HQStudentID", HQStudentID);
    Class.putExtra("_SchoolCode", SchoolCode);
    Class.putExtra("_GroupID", GroupID);

这是我的 Service :

public class Class_Service extends Service{
    String Webresponse;
    String URL ;
    String Username;
    String PASSWORD;
    String Mobile;
    String HQStudentID;
    String SchoolCode;
    String GroupID;


    @Override
    public IBinder onBind(Intent arg0) {
        return null;
    }

    @Override
    public void onStart(Intent intent, int startId) {
        handleStart(intent, startId);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        handleStart(intent, startId);
        return START_NOT_STICKY;
    }

    void handleStart(Intent intent, int startId) {
        URL = intent.getStringExtra("Url");
        Username = intent.getStringExtra("Username");
        PASSWORD = intent.getStringExtra("PASSWORD");
        Mobile = intent.getStringExtra("Mobile");
        HQStudentID = intent.getStringExtra("HQStudentID");
        GroupID = intent.getStringExtra("_GroupID");
        SchoolCode = intent.getStringExtra("_SchoolCode");

        Log.i("test", "HERE : : :" + GroupID + "::" + SchoolCode);
    } 
}

所有参数都有值,但 GroupIDSchoolCodenull !!!

当我从 MainActivity 传递 GroupIDSchoolCode 时,它们具有价值。

有 2 种情况可能会导致此问题:

1 : 您正在尝试发送一个整数并尝试将其作为服务上的字符串获取。检查数据类型,如果有任何错误,请修复。

2 : 数据可能为空。在 Logcat 上的 putExtra 之前检查所有数据,以查看它们都有一些值。

希望对您有所帮助。

最好的, 麦克.

如果您要传递整数,请使用 intent.getIntExtras("tag"),对于字符串 intent.getStringExtra("tag").