Проблема с разрешением Receive_SMS - PullRequest
0 голосов
/ 10 декабря 2018

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

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

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

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

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

enter image description here

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

enter image description here

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

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 04 января 2019

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

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

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

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

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

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

0 голосов
/ 10 декабря 2018

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();
}

}`

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

...