我使用以下代码将短信发送到Android手机.但是,如果我将短信发送到任何号码,那么它就不会被发送.可能是什么问题?
package SMSApp.com;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class SMS extends Activity {
/** Called when the activity is first created. */
Button btnSendSMS;
EditText txtPhoneNo;
EditText txtMessage;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnSendSMS = (Button) findViewById(R.id.btnSendSMS);
txtPhoneNo = (EditText) findViewById(R.id.txtPhoneNo);
txtMessage = (EditText) findViewById(R.id.txtMessage);
btnSendSMS.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
String phoneNo …Run Code Online (Sandbox Code Playgroud) 我想向多人发送短信并验证短信是否发送.我检查了多个链接(这里提到),并得到了使用PendingIntent和broadCast Receiver确认的想法.
找出SMS是否已发送的实用方法
在android中以编程方式发送文本消息
http://mobiforge.com/design-development/sms-messaging-android
但关键问题在于,我在一个中有不同的50个联系人号码,arrayList在另一个中有不同的消息arrayList.
我用这个代码:
for (Condition) {
sms = SmsManager.getDefault();
try {
. . . sms.sendTextMessage(phoneNumbers[i], null, messages[i], sentPI, deliveredPI);
}
catch(IllegalArgumentException e) { }
}
Run Code Online (Sandbox Code Playgroud)
现在,我无法确定有多少人获得了他们的消息,有多少人没有.因为如帖子(上面提到的链接)所示,每次我们只获得一个消息,"短信发送".
所以请让我知道,Intent当我发送消息并获取额外信息broadcast Receiver以获取特定联系人/人的详细信息时,我怎样才能添加"额外内容" .
还有一两件事:有在标志值四个不同的选项PendingIntent
(FLAG_ONE_SHOT,FLAG_NO_CREATE,FLAG_CANCEL_CURRENT,FLAG_UPDATE_CURRENT).当我在for循环中发送消息以获得正确的结果时,我应该使用哪一个?