Проблема с разрешением Receive_SMS

Как вы знаете, согласно политике Google Developer, если наша основная функциональность приложения не зависит от SMS, мы должны удалить разрешение RECEIVE_SMS для Android и попытаться найти другую альтернативу.

Но моя проблема в том, что я не использую RECEIVE_SMS в манифесте или в запросе Runtime. Тем не менее, Google предупреждает меня об использовании разрешения RECEIVE_SMS.

Хотя в игровом магазине. Если я проверю разрешения, необходимые в этом приложении, он показывает разрешение RECEIVE_SMS.

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

Но я не могу его найти.

введите описание изображения здесь

Также этот в манифесте:

введите описание изображения здесь

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

Я использую аутентификацию Firebase Phone и интеграцию PayUMoney Payment. Возможно ли, что эти двое могут вызывать проблемы? или они внутренне запрашивают это разрешение.

Я не знаю, откуда исходит это разрешение.

Было бы здорово, если бы кто-нибудь мог помочь мне с этой проблемой.

кто-нибудь сталкивается с той же проблемой?


person CodeGeek    schedule 10.12.2018    source источник


Ответы (2)


Что ж, проблема в библиотеке PayUMoney. Поскольку Firebase Phone Auth не запрашивает разрешения RECEIVE_SMS.

Что вы можете сделать, так это удалить библиотеку одну за другой и проверить, запрашивает ли она разрешение RECEIVE_SMS.

Если вы обнаружите, какая библиотека вызывает это, вы можете написать это в своем манифесте Android.

<uses-permission
        android:name="android.permission.RECEIVE_SMS"
        tools:node="remove" />

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

Что касается вашего конкретного вопроса, эту проблему вызывает PayUMoney, а не Firebase, поэтому вы можете добавить эту строку в свой манифест. и проверьте работоспособность PayuMoney.

person Abubakker Moallim    schedule 04.01.2019
comment
Превосходное решение. Спасибо! - person Sachin Tanpure; 21.02.2019
comment
Нет необходимости проверять, удаляя библиотеку одну за другой, скорее вы можете исследовать объединенный манифест, который вы можете найти в самой студии Android. - person Paresh Mayani; 24.03.2019
comment
Если у вас есть лучшее решение, ответьте на этот пост. Так что другие люди могут извлечь из этого пользу. - person Abubakker Moallim; 24.03.2019

Для аутентификации Firebase Phone потребуется использовать SMS для аутентификации вас. Так что это нужно с вашего разрешения. Вот почему у вас есть эта ошибка, это простой способ сказать; пожалуйста, укажите разрешения для SMS.

И, пожалуйста, вы можете попробовать использовать эту библиотеку для упрощения манипуляций с разрешениями;

implementation 'gun0912.ted:tedpermission:2.2.2

И всякий раз, когда вам нужно разрешение, просто сделайте;

`public class GrantPermisions {

public static void givePermision(final Context context){

    PermissionListener permissionlistener = new PermissionListener() {
        @Override
        public void onPermissionGranted() {

        }

        @Override
        public void onPermissionDenied(List<String> deniedPermissions) {

        }


    };

    TedPermission.with(context)
            .setPermissionListener(permissionlistener)
            .setDeniedMessage("If you reject permission,you can not use this service\n\nPlease turn on permissions at [Setting] > [Permission]")
            .setPermissions(Manifest.permission.INTERNET,
                    Manifest.permission.READ_SMS,
                    Manifest.permission.READ_CALL_LOG)
            .check();
}

}`

Надеюсь, ты это исправишь. Производство ждет товарища !!!

person ElectronSz    schedule 10.12.2018
comment
У меня нет ошибок. Google просит меня удалить это разрешение в соответствии с их политикой разработчика. - person CodeGeek; 10.12.2018
comment
Но, как вы можете видеть, я не прошу явно это разрешение. - person CodeGeek; 10.12.2018
comment
Вам нужно использовать SMS. Вы не сможете его удалить. Я думаю, вам нужно отключить аутентификацию телефона firebase. Иначе не получится - person ElectronSz; 10.12.2018
comment
Но я попросил Google об исключении, но они не предоставляют никаких вариантов, чтобы доказать мою правоту. - person CodeGeek; 10.12.2018
comment
Вы пытаетесь понять мою проблему? Получили ли вы какое-либо уведомление о своем приложении в Google Play? - person CodeGeek; 10.12.2018
comment
Так что мне теперь делать? Я запросил исключение, но Google по-прежнему предлагает мне его удалить. - person CodeGeek; 10.12.2018
comment
Google внимательно следит за SMS и телефонными разрешениями приложений в Play Store с 8 октября. Найдите функции, для которых нужны SMS, и поищите альтернативы. Или загрузите свое приложение у другого провайдера. - person ElectronSz; 10.12.2018
comment
Но если я использую аутентификацию firebase, и я не читаю явно какие-либо sms пользователя. Телефон Firebase делает это автоматически, после чего Google должен изменить свою библиотеку. - person CodeGeek; 10.12.2018
comment
Позвольте нам продолжить это обсуждение в чате. - person ElectronSz; 10.12.2018