0

我在这个论坛中找到了这段代码,但我遇到的问题是我不能在电话号码中使用这个字符(#或)。/u0023

我知道这个问题已经被问过了,但你可能知道“Go SMS Pro”应用程序,这个应用程序实际上可以拨打这个号码。现在我想问你是否知道如何管理它。

try {
     Intent callIntent = new Intent(Intent.ACTION_CALL);
     String number = "tel:*100#"; /This is the number
     callIntent.setData(Uri.parse(asd));
     startActivity(callIntent);

     TelephonyManager tManager = (TelephonyManager) 
     getSystemService(Context.TELEPHONY_SERVICE);
     PhoneStateListener listener = new PhoneStateListener();
     tManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
} catch (ActivityNotFoundException activityException) {
     Log.e("telephony-example", "Call failed", activityException);
}
4

1 回答 1

2

网址对其进行编码。

String number = "tel:*100%23";
callIntent.setData(Uri.parse(asd));

或者,如果您需要更通用的方法(例如,如果您的数字发生变化......) - 使用 URLEncoder 对 URI 的数据部分进行编码。

String number = "tel:"+ URLEncoder.encode("*100#");
....
于 2012-01-18T17:47:02.093 回答