Невозможно извлечь данные из QR-кода в Android

После сканирования QR-кода приложение получит название события, дату начала, дату окончания и место.
(HTML-код:encodeURIComponent(txt1 + "\n" + txt2 + "\n" + txt3 + "\n" + txt4))

И как поместить это значение в этот код:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
    if (result != null){
        if (result.getContents()==null){
            Toast.makeText(this, "You Cancelled the Scanning", Toast.LENGTH_LONG).show();
        }
        else {
            Calendar cal = Calendar.getInstance();
            Intent intent = new Intent(Intent.ACTION_EDIT);
            intent.setType("vnd.android.cursor.item/event");
            intent.putExtra("beginTime", ?);
            intent.putExtra("allDay", true);
            intent.putExtra("rrule", "FREQ=YEARLY");
            intent.putExtra("endTime", ?);
            intent.putExtra("title", ?);
            intent.putExtra("eventLocation", ?);
            startActivity(intent);
        }
    }
    else{
        super.onActivityResult(requestCode, resultCode, data);
    }
}

Я не уверен, что понимаю, с чем именно у вас проблемы.

Karan Modi 19.10.2018 09:14

После сканирования QR-кода мы получили «Название события, дата начала, дата окончания, место», и мы надеемся, что название события можно будет поместить в intent.putExtra("title", **there**);.

SP Wong 19.10.2018 10:10
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
84
1

Ответы 1

Вы можете использовать String.split() для разделения строки на подстроки. Это даст вам массив строк, которые вы можете передать намерению.

        String result = "Event title <br> start date <br> end date <br> location"
        String[] info = result.split("<br>");
        Calendar cal = Calendar.getInstance();
        Intent intent = new Intent(Intent.ACTION_EDIT);
        intent.setType("vnd.android.cursor.item/event");
        intent.putExtra("beginTime", info[1].trim());
        intent.putExtra("allDay", true);
        intent.putExtra("rrule", "FREQ=YEARLY");
        intent.putExtra("endTime", info[2].trim());
        intent.putExtra("title", info[0].trim());
        intent.putExtra("eventLocation", info[3].trim());
        startActivity(intent);

Не вышло. Пользователь может сделать QR-код на веб-сайте (они могут указать название события, дату начала, дату окончания и место). После сканирования QR-кода эта информация будет занесена в календарь. Но мы не знаем, как поместить это содержимое в intent.putExtra.

SP Wong 19.10.2018 11:54

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