现在的位置: 首页 > 综合 > 正文

android开发步步为营之16:发信息和打电话

2017年10月06日 ⁄ 综合 ⁄ 共 1757字 ⁄ 字号 评论关闭

/**
 * @author zhuzhifei
 *
 */
public class SendMsgAndDialActivity extends Activity implements OnClickListener {
private Button btnsendmsg, btndialphone;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.sendmsganddial);
btnsendmsg = (Button) findViewById(R.id.btnsendmsg);
btndialphone = (Button) findViewById(R.id.btndialphone);
btnsendmsg.setOnClickListener(this);
btndialphone.setOnClickListener(this);
}
@Override
public void onClick(View v) {
        switch (v.getId()) {
//发信息
case R.id.btnsendmsg:
try {
      String strPhoneNum = "158****2520";
      String strContent = "新年快乐,祝您身体健康,吉祥如意!";
      SmsManager smsManager = SmsManager.getDefault();
      PendingIntent sentIntent = PendingIntent.getBroadcast(
      SendMsgAndDialActivity.this, 0, new Intent(), 0);
      // 如果字数超过70,需拆分成多条短信发送
      if (strContent.length() > 70) {
      List<String> msgs = smsManager.divideMessage(strContent);
     for (String msg : msgs) {
          smsManager.sendTextMessage(strPhoneNum, null, msg,
           sentIntent, null);}
      } else {
       smsManager.sendTextMessage(strPhoneNum, null, strContent,
       sentIntent, null);}
       Toast.makeText(SendMsgAndDialActivity.this, "短信发送完成",
       Toast.LENGTH_LONG).show();
} catch (Exception e) {
       Log.i("btnsendmsg", e.getMessage());
}
break;
//打电话
case R.id.btndialphone:
try {
        Intent phoneIntent = new Intent(Intent.ACTION_CALL,
        Uri.parse("tel:158****2520"));
        // 启动
        startActivity(phoneIntent);
} catch (Exception e) {
// TODO: handle exception
       Log.i("btndialphone", e.getMessage());
}
break;
default:
         break;
     }
   }
}
一定记得在AndroidManifest.xml加权限,否则无法发信息和打电话
<uses-permission android:name="android.permission.SEND_SMS"/><!--添加发短信权限-->
<uses-permission android:name="android.permission.CALL_PHONE" /> <!-- 添加拨电话的权限 -->

抱歉!评论已关闭.