Android 应用程序不会在真实设备上自动发送短信

标签 android sms

我开发了一个 Android 应用程序,可以自动向接收短信的设备自动发送短信。

我的应用程序在模拟器上运行良好,但当我在真实设备(Android 手机)上运行它时,它只接收短信,不会自动发送响应。

我的代码如下。

public class SMSReciever extends BroadcastReceiver {

    String address;
    String smsMe = "I Recieved Your SMS";

    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle bundle = intent.getExtras();

        Object messages[] = (Object[]) bundle.get("pdus");
        SmsMessage smsMessage[] = new SmsMessage[messages.length];
        for (int n = 0; n < messages.length; n++) {
            smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
            address = smsMessage[n].getOriginatingAddress();
        }

        Toast toast = Toast.makeText(context,"Received SMS: " +
                 smsMessage[0].getMessageBody(), Toast.LENGTH_LONG);
        toast.show();
        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage(address, null, smsMe, null, null);
    }
}

不知道问题出在哪里。以及为什么它在真实设备上无法正常工作。

最佳答案

尝试使用此代码发送短信。

//---sends an SMS---
private void sendSMS(String phoneNumber, String message)
{        
    PendingIntent pi = PendingIntent.getActivity(this, 0,
        new Intent(this, class_name.class), 0);                
    SmsManager sms = SmsManager.getDefault();
    sms.sendTextMessage(phoneNumber, null, message, pi, null);        
}    

}

关于Android 应用程序不会在真实设备上自动发送短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12262899/

相关文章:

android - 禁用android中的系统警报框

java - 通过第三方网关在 Android 上发送短信

android - 如何在 Android 中捕获超过 80 字节的短信?

iPhone/Android - 保护应用程序下载的图像

android - 在 Http Live Streaming Android 3.0+ 中获取当前日期

android - LatLngBounds 或 CameraUpdate 不显示 Maps Lite 模式中的所有点

android - MediaPlayer 甚至可以播放 MP3 吗?

java - RecycleViewer 没有连接适配器。网址也出错

android - 读取传入消息,直到读取验证短信

php - mail() - 电子邮件有效但短信无效