Android打电话也是两行代码:
Intent intent = new Intent("android.intent.action.DIAL", Uri.parse("tel:10086") );
startActivity(intent);
这样便进进入呼叫界面了。

接下来我们再看一下监听电话状态的功能。

监听电话状态首先建立一个继承于PhoneStateListener电话监听类(如:TeleListener),并让TelephonyManager监听它。
TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
mTelephonyMgr.listen(new TeleListener(), PhoneStateListener.LISTEN_CALL_STATE | PhoneStateListener.LISTEN_SERVICE_STATE | PhoneStateListener.LISTEN_SIGNAL_STRENGTH);
TeleListener需要实现父类的几个方法,onCallStateChanged、onServiceStateChanged、onSignalStrengthChanged,根据方法名我们便可知其功能,这里就不再详述。

Android中发短信非常方便,两行代码:
SmsManager sm = SmsManager.getDefault();
sm.sendTextMessage("10086", null, "hello", null, null);
由于现在我还没有Android手机,也不知道这样能否成功。

收短信稍稍复杂一点,需要建立一个BroadcastReceiver,来监听android.provider.Telephony.SMS_RECEIVED事件,我不太详述,完整代码如下:
public class SMSReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdusObj = (Object[]) bundle.get("pdus");
if (pdusObj != null) {
SmsMessage[] messages = new SmsMessage[pdusObj.length];
for (int n = 0; n < pdusObj.length; n++) {
messages[n] = SmsMessage.createFromPdu((byte[]) pdusObj[n]);
Log.d("MsgTest", "Message: " + n + " " + messages[n].getMessageBody());
Log.d("MsgTest", "Message from: " + messages[n].getOriginatingAddress());
}
}
}
}
}
注意:
1、不要忘记添加短信收发相关的权限;
2、不要忘记配置SMSReceiver。

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. android 4.3以上修改DNS 及 流程(netd)
  3. 利用签名机制进行程序自检——Android防破解
  4. Android动画Animation之Tween用代码实现动画效果
  5. Android(安卓)Studio 统计代码行数插件 — Statistic
  6. 修改android4.4图库系列二——自定义菜单
  7. Android(安卓)JNI(实现自己的JNI_OnLoad函数)
  8. Android(安卓)代码中对不同国家支持的信道的设置
  9. Android系统横竖屏切换时候Activity的生命周期

随机推荐

  1. Android WIFI热点默认SSID的修改方法
  2. android 屏幕保持唤醒 不锁屏 android.pe
  3. Android之Menu菜单 onCreateOptionsMenu
  4. 将keras或tensorflow模型迁移到android端
  5. Android:Using shared element transitio
  6. Android 实现由下至上弹出并位于屏幕底部
  7. android Image zImage uImage boot.img分
  8. android 判断网络是否断开
  9. android 输出.txt 文本换行问题
  10. android 调用相机保存拍照后的图片