Receive_SMS权限问题

Receive_SMS Permission issue

如您所知,根据 Google 开发者政策,如果我们应用程序的核心功能不依赖于 SMS,那么我们应该删除 RECEIVE_SMS android 权限并尝试找到一个不同的选择。

但我的问题是我没有在清单或询问运行时中使用 RECEIVE_SMS。不过,Google 警告我使用 RECEIVE_SMS 权限。

虽然在 Play 商店如果我检查此应用程序所需的权限,它会显示 RECEIVE_SMS 权限。

如果我在任何地方错误地使用它,您可以看到我的应用程序的一些屏幕截图,我在其中搜索了此权限。

但是我找不到。

清单中还有这个:

如您所见,我既没有在清单中也没有在运行时请求该权限。

我正在使用 Firebase Phone 身份验证和 PayUMoney 支付集成。这两个可能会引起问题吗?或者他们在内部请求此权限。

我不知道这个权限是从哪里来的。

如果有人能帮我解决这个问题,那将是很大的帮助。

有人面临同样的问题吗?

Firebase Phone 身份验证需要使用短信来验证您的身份。因此需要您的许可。这就是为什么你有这个错误,这是一种简单的说法;请包含短信权限。

请您尝试使用这个库来轻松操作权限;

implementation 'gun0912.ted:tedpermission:2.2.2

只要您需要许可,就去做;

` public class GrantPermission {

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

}`

希望你修复它。生产等待队友!!!

好吧,问题出在 PayUMoney 库上。因为 Firebase Phone Auth 没有请求 RECEIVE_SMS 权限。

你可以做的是你可以一个一个地删除库并检查它是否仍在请求 RECEIVE_SMS 权限。

如果您发现是哪个库导致的,那么您可以将其写入您的 Android 清单

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

这将阻止库在内部请求此权限。在将此行添加到您的应用程序清单后,请检查您的库是否在没有此权限的情况下正常运行。

对于您的特定问题,是 PayUMoney 而不是 Firebase 导致了此问题,因此您可以将此行添加到您的清单中。并检查 PayuMoney 是否正常工作。