客户要求添加一键紧急拨号。
方案:
// 在需要的地方添加
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
//callText = (TextView) findViewById(R.id.call_text);
pass_button = (Button)findViewById(R.id.button1);
pass_button.setEnabled(false);//kamari
Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,Uri.parse("tel:112"));
startActivity(intent);
一开始使用的是Intent.ACTION_CALL, 但是遇到个问题,Intent发出去后只是打开拨号界面,无法拨出号码。
后面查询资料发现Intent三种状态
系统拨打电话可以调用action如下:
ACTION_CALL(普通),
ACTION_CALL_EMERGENCY (紧急电话),
ACTION_CALL_PRIVILEGED(系统专属),
而普通应用要拨打电话只能调用ACTION_CALL。
ACTION_CALL 根据指定的数据执行一次呼叫,不能用于紧急呼叫。
ACTION_CALL_PRIVILEGED 系统专属,是个private API,开发几乎不用。
ACTION_DIAL 拨打一个指定的号码,显示一个带有号码的用户界面,允许用户去启动呼叫,可以用于紧急呼叫。