Генерируйте QR-код в Android, который обрабатывает Намерение - PullRequest
0 голосов
/ 09 января 2020

Я хочу реализовать функцию, которая позволяет сканировать QR-code и открывать соответствующие действия. Теперь у меня есть Recycleview и случайное количество элементов, так что я обрабатываю клик по элементам и открываю Details Activity с кодом -

    public void onOrderItemClick(View itemView) {
    Bundle bundle = new Bundle();
    bundle.putParcelable(ORDER_DATA_KEY, order);
    OrderDetailsActivity.launch(itemView.getContext(), bundle);
}

Теперь довольно просто получить контекст из Onclick элемента - по мере необходимости контекст и BUndle для запуска действия

    public static void launch(Context context, Bundle orderData) {
    Intent intent = new Intent(context, OrderDetailsActivity.class);
    intent.putExtras(orderData);
    context.startActivity(intent);
}

Как я могу сгенерировать релевантный QR, чтобы я мог напрямую go к соответствующему действию, даже не щелкая элемент в обзоре повторного просмотра? Любая помощь очень ценится.

1 Ответ

0 голосов
/ 09 января 2020

Вы можете попробовать этот лог c и изменить его в соответствии с вашими потребностями.

Шаги:

  1. Создать QR-коды для каждый предмет, изначально. QR-код хранит набор данных в формате изображения. Таким образом, вы можете создавать свои собственные данные в заданном шаблоне c, например

    Initial (образец исходных данных)

    • App-Name-Item-Id -1
    • App-Name-Item-Id-2
    • App-Name-Item-Id-3
    • App-Name-Item-Id-4

    (1,2,3,4 являются уникальными идентификаторами предметов)

    Если вы хотите, вы шифруете эти данные, чтобы никакой другой сканер QR-кода не мог прочитать конфиденциальную информацию. Вы можете использовать любой алгоритм шифрования

    1028 * Encrypted (Random Example)
    • a3GErWv9exn0dOexUBV07GNM1IS5W5Rj
  2. RZnZF4wb3WPGuI0C3FjeXf8hCFyDZb iE
  3. Создайте простое действие, в котором есть одна кнопка Сканировать QR. Вы можете использовать любую библиотеку с открытым исходным кодом для сканирования данных в QR.

  4. Когда сканируется QR, вы получите этот вид зашифрованных данных, очевидно, потому что вы встроили их в Сам QR.

  5. Подтвердите QR

  6. Расшифруйте данные, используя тот же алгоритм шифрования, и проверьте, используя любые распространенные логические средства, как это должно быть в шаблоне (App-Name-Item-Id- [0-9])

  7. После проверки вы можете легко получить последнюю числовую часть из этого. После того, как он у вас есть, вы можете получить данные (объект заказа), связанные с этим уникальным идентификатором, как вы должны это сделать в ItemClickListener или при создании адаптера

  8. Наконец, запустите операцию как Вы делаете сейчас

С этим, я думаю, вы сможете сделать это без нареканий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...