android sendTextMessage每发送一条短信都弹权限提示

做了一个可以多选联系人的页面,选择之后,sendTextMessage发送多条短信,发送之前有检查发送短信的授权,没授权将请求授权,授权成功后才发送。结果发现Oppo A1601,判断时是已授权,直接走sendInviteSMS(); 调用sendTextMessage逐条发短信,但是每发一条短信都会弹一次授权提示。

经查,设置里面应用是已经被授权发送短信,是Oppo A1601自带的安全中心对发送短信权限进行了限制,使用时询问。改成允许是没问题的。

就好似,广州到北京,出发之前查询道路是否是好的(是否授权),坏的就修好再出发(请求授权),结果道路是好的情况下出发,半路有收费站(安全中心),不给钱就不让过(不授权就发送失败),并且每次经过都要收费(每条短信都弹授权提示)。

AppExecutors.get().execute(TaskType.BACKGROUND, new Callable<Boolean>() {
    @Override
    public Boolean call() throws Exception {
        return PackageManager.PERMISSION_GRANTED ==
                ContextCompat.checkSelfPermission(getContext(), Manifest.permission.SEND_SMS);
    }
}, new Consumer<Boolean>() {
    @Override
    public void accept(Boolean result) {
        if (result) {
            Log.d(TAG,"SEND_SMS granted");
            sendInviteSMS();
        } else {
            Log.d(TAG,"requestPermission SEND_SMS");
            PermissionGen.needPermission(ChooseContactFragment.this, SEND_SMS_PERMISSION_REQUEST_CODE, Manifest.permission.SEND_SMS);
        }
    }
});


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值