android 自动拨打含“#”如:*1234#的电话

1、需要给#加码:不至于调用的时候出现#被和谐掉了

 /**  * 话费卡充值  */  private void callThePhone(String targetPhone) {
        if (StringUtil.isNotBlank(targetPhone)) {
            String target =targetPhone;//"tel:"+ "*1234#";  try {
                Intent intent = new Intent(Intent.ACTION_CALL);  Uri data = ussdToCallableUri("tel:" + targetPhone);  intent.setData(data);  intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  startActivity(intent);  }catch (SecurityException e) {
                e.printStackTrace();  ToastUtils.showToast(this, R.string.pay_type_call_code_notice);  }   }
    }
//对#进行加码
    private Uri ussdToCallableUri(String ussd) {
        String uriString = "";   if(!ussd.startsWith("tel:"))
            uriString += "tel:";   for(char c : ussd.toCharArray()) {

            if(c == '#')
                uriString += Uri.encode("#");  else  uriString += c;  }

        return Uri.parse(uriString);  }


你可能感兴趣的:(android,android,String,Studio)