我想用代码*#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
。
你能帮助我吗?
答案 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);