Архив рубрики: Android

Запрос выбора SSL сертификата в компоненте WebView

Задача: при открытии страницы https необходимо позволить пользователю выбрать необходимый сертификат ssl из установленых в хранилище.

Решение:

private class NocWebViewClient extends WebViewClient {
    @Override
    public void onReceivedClientCertRequest(WebView view, final ClientCertRequest request) {
        Log.v(getClass().getSimpleName(), "===> certificate required!");

        KeyChain.choosePrivateKeyAlias(Form1.this, new KeyChainAliasCallback(){
            @TargetApi(Build.VERSION_CODES.LOLLIPOP)
            @Override
            public void alias(String alias) {
                Log.v(getClass().getSimpleName(), "===>Key alias is: " + alias);
                try {
                    PrivateKey changPrivateKey = KeyChain.getPrivateKey(Form1.this, alias);
                    X509Certificate[] certificates = KeyChain.getCertificateChain(Form1.this, alias);
                    Log.v(getClass().getSimpleName(), "===>Getting Private Key Success!" );
                    request.proceed(changPrivateKey, certificates);
                } catch (KeyChainException e) {
                    Log.e(getClass().getSimpleName(), Util.printException(e));
                } catch (InterruptedException e) {
                    Log.e(getClass().getSimpleName(), Util.printException(e));
                }
            }
        },new String[]{"RSA"}, null, null, -1, null);
    }
    @Override
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
        handler.proceed();
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url)
    {
        return true;
    }
    @Override
    public void onPageFinished(WebView view, String url){

    }

Новый проект — «Маячек»

Более подробное описание, на странице проекта. А если в кратце, то сервис с открытым кодом позволяющий отслеживать местоположение устройства Android. Состоит из двух частей: приложение под Андроид и отдельный сайт http://маячек.грибовы.рф

Remix Os

Продолжаю тестировать различные сборки Android под «ноутбуки». Точнее под конкретный ноутбук — мой 😉 Acer Spire 5250.

На этот раз поставил распиаренную на той неделе Remix Os.  Основное отличие от проекта Androidx86 — изначально многооконный интерфейс и некое подобие меню «Пуск». Вывод пока тоже не утешительный: при всей красоте внешнего вида, пользоваться пока не возможно. Как всегда разработчики увлеклись не реально требующимися для нормальной работы вещами, а «свистелками». Жаль.

2015-12-11-23.36.24-980x551

Причины:

  • нет работает переключение раскладки клавиатуры. Вообще. Тыкал и крутил с час вероятно. Не смог подобрать комбинацию галочек и настроек при которых бы она заработала.
  • как и в проекте Androidx86 — не воспроизводится видео. Ни в браузерах, ни проигрывателями
  • пляски с бубном при установке Play Market. Как это таки сделать, чтоб нормально работало расписывать не буду, ибо смысла нет — все равно пока пользоваться RemixOs нельзя.
  • многие игры после запуска не реагируют на нажатия мыши
  • в браузере на открытой странице любого сайта, чтобы нажать ссылку, приходится тыкать мышкой на строчку ниже на несколько строчек, чем где реально отображается ссылка. Т.е. что-то где-то не то с определением координат нажатия.
  • после установки «видит» не более 8 гигов места на жестком, хотя отдал раздел на 30 гигов

Дальше «тестировать» не стал — вероятно еще много не доработок.. Будем ждать… Одно из двух, или я новый ноутбук куплю, не тормозной или таки допилят что-то андроидоподобное, чтоб работало прилично.

К сожалению устанавливать на старый ноутбук «легкие дистрибутивы Linux» смысла нет — пробовано достаточно. Т.к. если не пользуешся только консолью, то нужны: нормальный браузер и нормальная IDE для программирования. А когда их ставишь на «легкий дистрибутив» — он начинает собственно тупить так-же как и обычная убунтушечка или таже Windows 10.

Android-X86

Спустя год, снова попробовал поставить на ноутбук андроид, проекта http://www.android-x86.org . Ну что? Уже лучше. Намного лучше. Wifi заработал сразу. Большинство не игровых приложений работают. С играми всё печально.. Часть пишет что «Ваше устройство не поддерживается». Другая часть не реагирует на нажатия тачпада. Корректно работает только малая часть игр.

Урок №7 Пишем сервис для вывода сообщений пользователю.

Создан УРОК 7, «Вывод сообщений пользователю при помощи сервиса Android»

Пример создания сервиса которые периодически проверяет наличие новых сообщений пользователю, и в том случае если находит, выводит его на экран. Используются: таймер, сообщения, работа с JSON.