GPLVote Sign Doc Android API
Материал из Сервис Облачной Демократии
(Различия между версиями)
Админ (обсуждение | вклад) (Новая страница: «=== Общее описание === Приложение GPLVote Sign Doc может подписывать документы, которые ему будут п...») |
Админ (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
Пример обращения с запросом на подписание документа: | Пример обращения с запросом на подписание документа: | ||
− | < | + | <pre> |
− | + | public class DocSignRequest extends Doc { | |
− | + | public String type = "SIGN_REQUEST"; | |
+ | public String site; | ||
+ | public String doc_id; // Внутренний (клиента) идентификатор документа | ||
+ | public String user_key_id; // Идентификатор открытого ключа пользователя | ||
+ | public String data; // Данные - это зашифрованный JSON массив строк | ||
+ | public String dec_data; // Расшифрованные данные в строковом виде. Используются в коде, через сеть не передаются | ||
+ | public String template; // Шаблон | ||
+ | } | ||
− | + | ArrayList<DocSignRequest> documents = new ArrayList<DocSignRequest>(); | |
− | + | DocSignRequest sign_request = new DocSignRequest(); | |
− | + | ||
− | + | ||
− | + | sign_request.site = "app:trust_net"; | |
+ | sign_request.doc_id = genDocId(); | ||
+ | sign_request.dec_data = "['Данные trust net 1','Данные trust net 2']"; | ||
+ | sign_request.template = "LIST\nЗаголовок 1\nЗаголовок 2"; | ||
− | + | documents.add(sign_request); | |
− | + | Intent intent = new Intent("org.gplvote.signdoc.DO_SIGN", Uri.parse("signdoc://sign_array")); | |
− | + | ||
− | + | ||
− | + | Gson gson = new Gson(); | |
− | </ | + | intent.putExtra("DocsList", gson.toJson(documents)); |
+ | intent.putExtra("LastRecvTime", ""); | ||
+ | |||
+ | startActivityForResult(intent, DO_SIGN_REQUEST); | ||
+ | </pre> | ||
+ | |||
+ | Поле "site" должно иметь формат "app:<имя приложения, формирующего запрос на подписание>". |
Версия 16:32, 19 января 2015
Общее описание
Приложение GPLVote Sign Doc может подписывать документы, которые ему будут предоставлять другие приложения, работающие на смартфоне. При этом документы сохраняются в истории приложения, но не отправляются на прокси сервера или сайты.
Для внешнего обращения из других приложений служит имя активити "org.gplvote.signdoc.DO_SIGN".
Пример обращения с запросом на подписание документа:
public class DocSignRequest extends Doc { public String type = "SIGN_REQUEST"; public String site; public String doc_id; // Внутренний (клиента) идентификатор документа public String user_key_id; // Идентификатор открытого ключа пользователя public String data; // Данные - это зашифрованный JSON массив строк public String dec_data; // Расшифрованные данные в строковом виде. Используются в коде, через сеть не передаются public String template; // Шаблон } ArrayList<DocSignRequest> documents = new ArrayList<DocSignRequest>(); DocSignRequest sign_request = new DocSignRequest(); sign_request.site = "app:trust_net"; sign_request.doc_id = genDocId(); sign_request.dec_data = "['Данные trust net 1','Данные trust net 2']"; sign_request.template = "LIST\nЗаголовок 1\nЗаголовок 2"; documents.add(sign_request); Intent intent = new Intent("org.gplvote.signdoc.DO_SIGN", Uri.parse("signdoc://sign_array")); Gson gson = new Gson(); intent.putExtra("DocsList", gson.toJson(documents)); intent.putExtra("LastRecvTime", ""); startActivityForResult(intent, DO_SIGN_REQUEST);
Поле "site" должно иметь формат "app:<имя приложения, формирующего запрос на подписание>".