我正在尝试发送短信。代码运行但不发送任何SMS。没有错误。请指导一定出错的地方。
package com.example.smsbomber;
import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sendSMS();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void sendSMS() {
String phoneNumber = "00923002228885";
String message = "Hello World!";
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, message, null, null);
}
}
答案 0 :(得分:0)
请尝试使用此代码:
SmsManager sms = SmsManager.getDefault();
PendingIntent sentPI;
String SENT = "SMS_SENT";
sentPI = PendingIntent.getBroadcast(this, 0,new Intent(SENT), 0);
sms.sendTextMessage(phoneNumber, null, message, sentPI, null);
取自here.
答案 1 :(得分:0)
检查您的号码一次。我想你应该尝试从你的手机号码中删除“00”。使用try-catch()来逃避错误。只使用“923002228885”或者如果你还没有得到消息,那么删除“92”也像“3002228885”。
我在3天前尝试了这个并且它对我来说工作正常。但是请记下它,我没有成功发送超过160个字符的消息,但是在不到160个字符中它工作正常。
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(String.valueOf(sender_PhoneNo),null, your_sms, null, null);
Toast.makeText(getApplicationContext(),"SMS Sent!", Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getApplicationContext(),"SMS faild, please try again later!",Toast.LENGTH_LONG).show();
e.printStackTrace();
}
我使用此link作为参考。
希望它会对你有所帮助。