首页 > 解决方案 > 针对 SEND_SMS 的新 Google 政策变更有哪些可能的解决方法?

问题描述

这是新的Play Store Permissions Policy提供的链接。我们需要将 SEND_SMS 功能作为我们的主要身份验证模式。所以我们需要创建一个解决方法。我们尝试了 Intent。但它没有给出任何成功回调。我们需要这个回调来确保 SMS 是否发送。

private void invokeSMSIntent(String phoneNumber, String message) {
    Intent sendIntent;
    if ("".equals(phoneNumber) && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(this.cordova.getActivity());

        sendIntent = new Intent(Intent.ACTION_SEND);
        sendIntent.setType("text/plain");
        sendIntent.putExtra(Intent.EXTRA_TEXT, message);

        if (defaultSmsPackageName != null) {
            sendIntent.setPackage(defaultSmsPackageName);
        }
    } else {
        sendIntent = new Intent(Intent.ACTION_VIEW);
        sendIntent.putExtra("sms_body", message);
        // See http://stackoverflow.com/questions/7242190/sending-sms-using-intent-does-not-add-recipients-on-some-devices
        sendIntent.putExtra("address", phoneNumber);
        sendIntent.setData(Uri.parse("smsto:" + Uri.encode(phoneNumber)));
    }
    this.cordova.getActivity().startActivity(sendIntent);
    callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK));
}

标签: androidandroid-permissions

解决方案


推荐阅读