Ответы пользователя по тегу Android
  • Какие смартфоны поддерживают переходник с usb-c на hdmi?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    https://www.mhltech.org/devices.aspx?tid=1
    чтото бюджетных не вижу

    https://4pda.to/forum/index.php?showtopic=385233

    через type-c это вроде уже super MHL
    Ответ написан
    Комментировать
  • Как спрятать службу, точнее запустить ее на фоне, но что бы пользователь ее не видел в шторке уведомлений?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    поведение от которого вы хотите избавиться - заложено в самой операционной системе.
    Никак.
    https://developer.android.com/guide/components/for...
    Без видимого нотифи оптимизация батареи прибивает службу сразу.
    5 секунд и если нет уведомления - отвал
    Ответ написан
    6 комментариев
  • Что использовать для ожидания данных?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    работать должно много дней. После этого пункта можно забывать про андроид.
    а) Автоматический отзыв предоставленных разрешений приложению
    б) Ограничение фоновой работы . До 1го раза в сутки доступ в интернет, если приложение не открывалось

    Остается только возможность получения пуша
    А нотифи может так и остаться не замеченным

    По соотношению трудоемкость надежность проще слать сообщение в мессенджеры.
    Ответ написан
  • Как в приложении А отследить когда закрывается приложение B?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    не решаемо в текущих реалиях плея. Правила все ужесточаются. Приватность .... Дело идет к тому, что прилы будут сидеть каждая в своей песочнице и не будет иметь прав из нее высунуться. Уже в 12м андроиде, что бы просто поймать интент требуется заполнение специальной секции манифеста . чтобы просто проверить наличие определенной программы, тоже прописывай ее пакедж нейм в query

    Если основное назначение у приложения не связано с таким тайм менеджментом, то модерация ее на пропустит.

    Вот и выходит/ Если ваше приложение А - лайнчер назначенный по умолчанию (см. родительский контроль), то решение как бы есть. А если приложение просто установлено на телефоне, то шпионить нельзя.
    Ответ написан
    Комментировать
  • Что нужно для установки условий для запуска сторонних проложений?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Идешь в плей и смотришь "родительский контроль" . Выбираешь с самым худшим рейтингом. Идеально с 1 звездой.
    Почему так. Детки минусят реально работающие. Почитайте сами отзывы.

    Например набор разрешений у mcafee

    Development tools
    test access to protected storage
    Your personal information
    read your Web bookmarks and history, write web bookmarks and history
    Your location
    approximate (network-based) location, precise (GPS) location
    Network communication
    view network connections, view Wi-Fi connections, full network access, Google Play billing service, Google Play license check, receive data from Internet
    Storage
    modify or delete the contents of your USB storage
    Phone calls
    read phone status and identity
    System tools
    retrieve running apps, run at startup, draw over other apps, prevent phone from sleeping, toggle sync on and off
    Extra
    android.permission.ACCESS_BACKGROUND_LOCATION, android.permission.FOREGROUND_SERVICE, android.permission.QUERY_ALL_PACKAGES, android.permission.READ_APP_BADGE, android.permission.READ_PHONE_NUMBERS, com.anddoes.launcher.permission.UPDATE_COUNT, com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE, com.htc.launcher.permission.READ_SETTINGS, com.htc.launcher.permission.UPDATE_SHORTCUT, com.huawei.android.launcher.permission.CHANGE_BADGE, com.huawei.android.launcher.permission.READ_SETTINGS, com.huawei.android.launcher.permission.WRITE_SETTINGS, com.majeur.launcher.permission.UPDATE_BADGE, com.mcafee.safefamily.core.permission.USAGE, Can receive cloud messages, com.oppo.launcher.permission.READ_SETTINGS, com.oppo.launcher.permission.WRITE_SETTINGS, com.sec.android.provider.badge.permission.READ, com.sec.android.provider.badge.permission.WRITE, com.sonyericsson.home.permission.BROADCAST_BADGE, com.sonymobile.home.permission.PROVIDER_INSERT_BADGE, me.everything.badger.permission.BADGE_COUNT_READ, me.everything.badger.permission.BADGE_COUNT_WRITE
    Ответ написан
    1 комментарий
  • Как в Android Studio сделать чтобы пользователь по нажатию кнопки мог добавлять свои элементы в массив?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Называется такая вещь модель данных.
    Должна она уметь сохранять данные между запусками приложения.

    При первом запуске приложения - инициализация начальными данными.
    В дальнейшем востановление текущего состояния.
    В активити добавления Вы просто позовете у модели метод вставить_новое_значение()
    В активити приветствия метод дай_случайное_имя()

    Для хранения можно использовать room, sharedPreferns, самостоятельно работать с файлами.
    Ответ написан
    Комментировать
  • Как переслать push на почту?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    https://play.google.com/store/search?q=Push%20Noti...
    А чем результаты поиска по плею не нравятся ? Хотя бы я тоже только самостоятельному самопису доверял
    Ответ написан
  • Как сделать, чтобы при скане qr-кода открывался сайт с предложением скачать приложение?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    QR код содержит просто ссылку.
    В манифесте приложения пропишите
    <intent-filter>
                    <action android:name="android.intent.action.VIEW" />
    
                    <category android:name="android.intent.category.BROWSABLE" />
                    <category android:name="android.intent.category.DEFAULT" />
    
                    <data
                        android:host="lknpd.nalog.ru"
                        android:pathPrefix="/api/v1/receipt"
                        android:scheme="https" />
                </intent-filter>


    Здесь вы указываете хост и начало урла. Приложение сканер кр кода обращается к операционной системе с вопросом какие программы могут открыть данную ссылку. В список вариантов будет добавлено и ваше.
    void handleIntent(Intent intent){
            String action = intent.getAction();
            if (action == null) {
                showMessage("Ошибка вызова. Нет действия в намерении");
                return;
            }
    
            Uri uri = null;
            if (action.equals(Intent.ACTION_VIEW)) {
                uri = intent.getData();
            }else if (action.equals(Intent.ACTION_SEND) || action.equals(Intent.ACTION_SENDTO)) {
                String stringText = intent.getStringExtra(Intent.EXTRA_TEXT);
                if (stringText == null) {
                    CharSequence textSequence = intent.getCharSequenceExtra(Intent.EXTRA_TEXT);
                    if (textSequence != null) {
                        stringText = textSequence.toString();
                    }
                }
                if (stringText != null) {
                    if (stringText.startsWith("http://") || stringText.startsWith("https://")) {
                        uri = Uri.parse(stringText);
                    }
                }
            }
            if(uri == null){
                showMessage("Ошибка вызова. Ссылка на чек не обнаружена");
                return;
            }
    //теперь самостоятельно разбираете строку урла, чтобы вытащить нужные аргументы для конкретного действия в приложении
            receiptId = ReceiptId.fromURI(uri);
            if(receiptId == null){
                showMessage("Неправильная ссылка на чек");
                return;
            }
    
            importReceipt();
        }


    На Вашем сайте урлы можно через htaccess переправить на заглушку с предложением скачать приложение или к обычной странице добавлять банер с предложением открыть в приложении.
    Ответ написан
    1 комментарий
  • Можно ли в Android создать файл без сохранения на устройство?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    А о чем вопрос ? Как подобное сделать в рамках текущих требований плея ?
    Читать об альтернативах .
    https://support.google.com/googleplay/android-deve...
    Ответ написан
    Комментировать
  • Есть тулза для биндинга параметров из intent в activity/fragment?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    А вам зачем ? У вас много разных параметров ?
    Почитайте о parceable . Вместо кучи экстры один объект
    Ответ написан
    Комментировать
  • Не работает сенсор на пк с android-x86, что делать (ЗАКРЫТО)?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Купить планшет с андроидом. Альтернатива убить несколько лет на то, чтобы научиться писать драйвера и делать кастомные сборки операционки. Вишенкой на торте освоение реверс инженеринга .
    Ответ написан
    2 комментария
  • Как сделать макет интерфейса для каждого dpi в Android Studio?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Вы уверены, что проблема с плотностью ?
    dpi нужно учитывать в ресурсах, если они не вектором.

    Мне кажется ошибка в типе использованных вами лайотов. Вы от угла координаты для всех элементов указываете ? Почитайте о существующих типах. Для нужного эффекта их можно вкладывать друг в друга.
    В реальности использовал модификатор -land - для горизонтальной ориентации переопределял.

    А между телефонами и планшетами разница больше в диагонале.
    Например на телефоне матрица из кнопок 2на3 смотриться хорошо, а на планшете проситься 4 на 6 .
    Разверстано на левый и правый край. Уже в горизонтальной ориентации не так хорошо на телефоне. А на планшете или телевизоре становиться ужастно.

    Так, что имеет смысл сделать разные директории лайотутов.

    Layout folder conventions
    layout-swdp, where sw stands for smallest width, and is where you will replace with the width of the device you are targeting. Smallest width nerver changes, it always refer to the width of the device whether if the device is on portrait or landscape.

    layout-wdp, where w stands for available width, and is where you will replace with the avaible width of the device you are targeting. The available width changes as you rotate the device. On portrait, the width will be shorter, on landscape, the width will be longer.

    layout-hdp, where h stands for available height, and is where you will replace with the avaible height of the device you are targeting. The available height changes as you rotate the device. On portrait, the height will be longer, on landscape, the height will be longer.

    If you support sw360dp, sw600dp and sw720dp devices, then in the res/ folder, you will create folders layout-sw360dp, layout-sw600dp, and layout-sw720dp respectively. When you create a layout file for an Activity or Fragment, you will create the same file within each of these folder, same file name but with different layout contents. By doing this, when the app starts, Android will automatically pick the corresponding layout for the device it is running on.
    Ответ написан
  • Можно ли с помощью Python отправить на Android уведомление через USB?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    https://www.youtube.com/watch?v=m2U6s1JgY8c
    usb на прямую не даст соединить телефон и компьютер.
    почитайте про то как вообще устроен этот протокол.
    шнурок в видео делает для каждого устройства подключенное перефирийное устройство.
    то есть там
    pc == dev [магия ;) ] dev == pc
    == - стандартный для усб обмен

    а как же работает. Работает, но не через апи для доступа к usb
    Ответ написан
    Комментировать
  • При публикации приложения в Google Play ошибка Failed to run aapt dump badging: ERROR: dump failed because no AndroidManifest.xml found?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    не работал с ионик.
    Но по идее нужный файл
    \platforms\android\app\build\outputs\bundle\release\app-release.aab
    подписать нужно.
    А зачем Вы из него еще апк делаете ?
    Ответ написан
  • Как происходит проверка приобретения приложения на Google Play Market?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    гуглиш
    package com.google.android.vending.licensing;

    пишешь
    class MyLicenseCheckerCallback implements LicenseCheckerCallback {}

    в котором в зависимости от результата проверки делаешь, что нужно для ограничения функционала.

    это для платных приложений. Не путать с инапп и подписками - там билинг апи
    Ответ написан
    Комментировать
  • Не включается телефон Xiaomi Redmi Note 4x?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    попробую попасть пальцем в небо. Ваш телефон считает, что он заряжен на 1% . Отнесите в сервис. Возможно от удара отвалился чип заряда.
    Ответ написан
    Комментировать
  • Список моделей всех андроидных смартфонов с указанием размера ОЗУ, ПЗУ и номера доступной версии ОС?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    6188b8cd8ff4e378492943.png

    https://disk.yandex.ru/d/DhfKrU_EseMzhw

    Это выгрузка из консоли разработчика Google Play.
    Версию андроид смотреть как SDK.
    Если несколько, то через точку запятую.
    Например 29;30 (Андроид 10 и 11)
    Ответ написан
  • Доступ к накопителю Android?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    private final ActivityResultLauncher<String> mGetContent = registerForActivityResult(new ActivityResultContracts.GetContent(), this::fileSelected);
    
    mGetContent.launch("*/*");

    Делается в 2 строчки кода, остается только в fileSelected() написать что делать с полученными данными.
    Считается безопасным, так как пользователь сам в другом приложении явно указывает что можно дать приложению.
    Ответ написан
    1 комментарий
  • Почему не запускается сервис приложения?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    добавить пермишен старт фореграунд.
    службы без нотификации прибиваются через несколько секунд.
    тоаст из фонового процесса приведет к крешу.

    найдите на гите пример работающего плеера.
    Ответ написан
    Комментировать
  • Как найти по блютузу устройства без названия?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Цель какая ? А то сейчас даже с нормальным поиском хуже стало.
    Гугл через чур сильно заботиться о приватности пользователей.
    Для поиска блютуз устройств в ближайшем окружение требуется
    а) включенная геолокация
    б) включенный блютуз адаптер
    в) предоставление одного из двух разрешений. FINE_LOCATION, COARSE_LOCATION
    А вот тут уже началась котовасия с 8ой версии андроида.
    Сканирование то работает с минимальном разрешением, то опять требуется файн.
    Придумали механизм комплайн (сопряжения). Ага . Вот только при запрете геолокации , Вам болт.
    Ряд моделей телефонов (redme) стали просто молча игнорировать discovery.
    В общем как обычно в андроиде, если мы потом что-то запретили, то старые программы падать не должны, поэтому будем возвращать фиктивные данные или просто не делать калбаки как раньше.

    Разрешение всех близлежаших устройств давят и давят. Дело идет к тому, что искать придется по маскам
    (пока еще работает маска *, но думаю и это запретят).

    Типа пользуйтесь штатным механизмом сопряжения, дадим Вам только потом из этого списка выбрать нужное.
    Ответ написан