Невозможно передать данные между классами

У меня есть действие, которое создает уникальный идентификатор и затем передает строку в службу, проблема, с которой я сталкиваюсь, заключается в том, что приложение принудительно закрывается каждый раз, когда я пытаюсь передать данные из действия в службу.

Обычно, когда я программирую Java-приложения, я просто использую методы getter и setter для передачи данных между классами, поэтому у кого-нибудь есть идея, почему возникает эта проблема?

public void setId(String mydeviceId){

    TelephonyManager tm = (TelephonyManager)getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
    final String DeviceId, SerialNum, androidId;
    DeviceId = tm.getDeviceId();
    SerialNum = tm.getSimSerialNumber();
    androidId = Secure.getString(getContentResolver(),Secure.ANDROID_ID);
    UUID deviceUuid = new UUID(androidId.hashCode(), ((long)DeviceId.hashCode() << 32) | SerialNum.hashCode());
    mydeviceId = deviceUuid.toString(); 
    this.mydeviceId = mydeviceId;   

    }


    public String getId(){

        return mydeviceId;

    }

2 ответа

Решение

Проход между занятиями означает деятельность? Если это так, вам нужно использовать Intent bundle. Получить / установить не будет работать между действиями. Вот пример того, как передавать данные между действиями.

Чтобы общаться с вашим сервисом, разрешите вашей Активности bind с этим. Обратитесь к этому руководству. Это рекомендуемый способ.

Кроме того, вы можете передавать желаемые значения для связи между Сервисом и / или Активом. Для получения дополнительной информации обратитесь к этому

Другие вопросы по тегам