正在开发我想要Intent.ACTION_DIAL的功能。 下面是我到目前为止尝试过的代码。
Intent callIntent = new Intent(Intent.ACTION_DIAL);
String str = "tel:xxxxxxxxxx"; callIntent.setData(Uri.parse(str));
context.startActivity(callIntent);
但面临两个问题
1)如果我试图使用" tel:#06#"来检索imei号码。然后它会打开设备拨号器' '只要。 "#06#"没有出现在那里。
2)它要求用户按下呼叫按钮。我不希望用户按下通话按钮。是否有任何API可以让我直接从应用程序本身执行" tel" *#06#代码。
编辑:
我试过下面的答案。它调用拨号器" *#06#"但不显示设备的IMEI号。如果我从设备拨号器按下它,它会立即显示IMEI号码。 我想要的是从应用程序中显示IMEI类代码。
答案 0 :(得分:2)
Intent callIntent = new Intent(Intent.ACTION_CALL);
String encodedHash = Uri.encode("#");
String ussd = encodedHash + "06" + encodedHash;
startActivityForResult(new Intent("android.intent.action.CALL",
Uri.parse("tel:" + ussd)), 1);
并在android manifest 中授予此权限
<uses-permission android:name="android.permission.CALL_PHONE" />