如何运行意向调用号码*#9900#

时间:2014-05-19 08:06:53

标签: android android-intent

我想用代码*#9900#打开Dial Intent。但是,电话应用程序始终显示为空。

这是我的代码:

public void limpiarLogCat(View view) {
    String encodedHash = Uri.encode("#");
    call("*" + encodedHash + "9900" + encodedHash); 
}

protected void call(String phoneNumber) {
        try {
        startActivityForResult(
        new Intent("android.intent.action.DIAL", Uri.parse("tel:"
                            + phoneNumber)), 1);
    } catch (Exception eExcept) {

    }
}

另外,我已在 manifest.xml 中声明了android.permission.CALL_PHONE

你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

您无需在清单中声明拨号intent-filter,也不需要ACTION_DIAL的任何权限。寻找我的实现

private void startDialActivity(String phone){
    Intent intent = new Intent(Intent.ACTION_DIAL);
    intent.setData(Uri.parse("tel:"+phone));
    startActivity(intent);
}

也很好检查设备上支持的电话

private boolean isTelephonyEnabled(){
    TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
    return tm != null && tm.getSimState()==TelephonyManager.SIM_STATE_READY
}

更新: 尝试使用

String encodedHash = Uri.encode("*9900#");
startDialActivity(encodedHash);

而不是

String encodedHash = Uri.encode("#");
startDialActivity("*" + encodedHash + "9900" + encodedHash);