电话相关操作
intent拨打电话
<uses-permission android:name="android.permission.CALL_PHONE"/>
public void myClick(View view) {
String telStr = mEditText.getText().toString();
// 拨打电话
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:"+telStr));
startActivity(intent);
// 直接拨号没有数字键盘
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+telStr));
startActivity(intent);
}
监听即将拨打的电话
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
public class MyReceiver extends BroadcastReceiver {
public MyReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
Log.e("onReceive", "被执行");
String resultData = getResultData();
Log.e("刚才拨打电话号码是", ":" + resultData);
// 如果是以某串数字开头
if (resultData.startsWith("123")) {
// 修改即将要拨出的号码
setResultData("999" + resultData);
}
}
}
<receiver
android:name=".MyReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>