android - 无法在 Android 中使用 SMSManager 发送短信

标签 android sms sendmessage

在我的应用程序中,我不想使用默认消息发件人。为此,我点击了以下链接 In Android is it possible to send sms message to more than one recipient in code?

  • 而且该代码也有效。但是我从这里发送的消息 代码不会保存在手机的发件箱和收件箱中。
  • 我在我的代码中使用这样的短信管理器

    SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber, null, message, null, null);

但它不发送短信。请帮助我如何在 android 中发送短信 - 我也试过跟随 PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent( 发送), 0);

PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
new Intent(DELIVERED), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);

它也不起作用。
SMSAPPActivity.java

编辑:

btnSendSMS.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                String message = txtMessage.getText().toString();
                String[] PhnNoArray = new String[2];
                PhnNoArray[0] = "9999999999";
                PhnNoArray[1] = "8888888888";
                // StringTokenizer st = new StringTokenizer(phoneNo, ",");
                smsManager = SmsManager.getDefault();
                for (int i = 0; i < PhnNoArray.length; i++) {
                    smsManager = SmsManager.getDefault();
                        // this is the function that does all the magic
//                      sms.sendTextMessage(phoneNumber, null, msg, pi, null);
                    smsManager.sendTextMessage(PhnNoArray[i], null, message, null,
                            null);
                    Toast.makeText(getBaseContext(), "SMS sent : " + i,
                            Toast.LENGTH_SHORT).show();
                }
}
        });

请查看编辑并告诉我我做错了什么。tost 正在显示,但使用此代码在其他手机上未收到短信

最佳答案

如果您使用的是双卡设备,那么您必须提及发件人号码,此时您不能传递 null。否则,SmsManager 将抛出一个名为 SmsManager.RESULT_ERROR_GENERIC_FAILURE 的错误。

检查活跃模拟人生数量的代码:

public static int getNumberOfActiveSim(Context context) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
                SubscriptionManager subscriptionManager = SubscriptionManager.from(context);
                List<SubscriptionInfo> subscriptionInfo = subscriptionManager.getActiveSubscriptionInfoList();
                return subscriptionInfo != null ? subscriptionInfo.size() : 0;
            }
            TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
            if(telephonyManager != null && telephonyManager.getSimState() == TelephonyManager.SIM_STATE_ABSENT){
                return 1;
            }
            return 0;
        }

关于android - 无法在 Android 中使用 SMSManager 发送短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8998655/

相关文章:

具有自定义邮件正文的 PHP 电子邮件脚本

mysql - 消息表,不向已删除的人显示消息

android - 在哪里放置文件的 Chaquopy 包/模块

android - 自动回复?

swift - 在 Swift 中以编程方式发送 SMS/iMessage

c++ - GetMessage/PeekMessage - 删除消息队列中的所有消息

android - Eclipse 在保存时运行 android 应用程序

android - 更改 android MediaController 的样式

java.lang.ClassNotFoundException : com. google.wireless.android.sdk.stats.IntellijIndexingStats$Index

android - 如何在 Android 的聊天或消息应用程序中发送表情符号(图像、笑脸)?