首页 > 代码库 > 安卓发短信的程序,但是没效果。

安卓发短信的程序,但是没效果。

============问题描述============


这个代码是Activity里面的布局的我就不贴了,我设置的Toast都报出来了但是短信还是发不出来。


package com.example.message;

import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

	public Button send;
	public EditText number,message;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		send = (Button)this.findViewById(R.id.send);
		number = (EditText)this.findViewById(R.id.number);
		message = (EditText)this.findViewById(R.id.msg);
		send.setOnClickListener(new OnClickListener(){
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				sendMessage();
			}			
		});
		
	}

	public void sendMessage(){
		String pnumber = number.getText().toString().trim();
		String msg = message.getText().toString().trim();
		  PendingIntent sentIntent = PendingIntent.getBroadcast(this, 0, new Intent(), 0);
		if("".equals(msg)||"".equals(pnumber)){
			Toast.makeText(this, "需要填写号码,切短信内容不能为空", Toast.LENGTH_LONG).show();
		}else{
			Log.i("message", "接收者:"+pnumber+"  信息:"+msg);
			SmsManager sms = SmsManager.getDefault();
			sms.sendTextMessage(pnumber, "13652179825", msg, sentIntent, null);
			 Toast.makeText(this, "发送成功!", Toast.LENGTH_LONG).show();
		}
	}
	
	@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;
	}

}

我加了权限android.permission.SEND_SMS还把别的有关短信和彩信的权限都加上了,可是LOG里面提示有permission denied,由于我的虚拟机有问题我的测试使用真机做的。鄙人在安卓方面学识短浅,还请大神们看看咋回事儿行吗?

============解决方案1============


sms.sendTextMessage(这个是收件者的地址, null, msg, send, null); 你这样试试第二个参数是短信服务中心的电话  你写错了应该为null

============解决方案2============


你debug看一下,它执行的时候出现啥logcat,第二个参数是服务中心,

============解决方案3============


你的手机是不是装了360这样的管理软件,所以屏蔽了你发短消息的动作

安卓发短信的程序,但是没效果。