我开发了一个 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/