我想让我正在创建的应用打开拨号器并使用“seq”变量中的字符序列发送呼叫。
我尝试时遇到错误。这是我的代码。
public void sendCall(View v){
EditText phoneNumberText=(EditText)findViewById(R.id.phoneNumberText);
EditText topUpValueText=(EditText)findViewById(R.id.topUpValueText);
EditText passCodeText=(EditText)findViewById(R.id.passCodeText);
Integer phoneNumber=Integer.parseInt(phoneNumberText.getText().toString()),topUpValue=Integer.parseInt(topUpValueText.getText().toString()),passCode=Integer.parseInt(passCodeText.getText().toString());
String seq="*195*4000*" + passCode.toString() + "*868" + phoneNumber.toString() + "*" + topUpValue.toString() + "#";
Uri number = Uri.parse(seq);
Intent callIntent = new Intent(Intent.ACTION_DIAL, number);
答案 0 :(得分:3)
您可以使用以下格式拨打电话:“tel:123456789”
如果您要拨打电话(ACTION_CALL而非ACTION_DIAL),则必须获得此权限:
<uses-permission android:name="android.permission.CALL_PHONE" />
在您的清单文件中。
答案 1 :(得分:2)
使用 Intent.ACTION_DIAL
:拨打数据指定的号码。这显示了一个正在拨打号码的用户界面,允许用户明确发起呼叫。
public static void callContact(Context context, String contactNumber) {
try {
String uri = "tel:" + contactNumber;
Intent DialIntent = new Intent(Intent.ACTION_DIAL,Uri.parse(uri));
DialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(DialIntent);
} catch (Exception e) {
Log.e("Exception", e.getMessage());
}
}
使用 Intent.ACTION_CALL
:活动操作:对数据指定的某人执行调用。
public static void callContact(Context context, String contactNumber) {
try {
String uri = "tel:" + contactNumber;
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));
context.startActivity(intent);
} catch (Exception e) {
Log.e("Exception", e.getMessage());
}
}
将此权限添加到AndroidManifest.xml
<uses-permission android:name="android.permission.CALL_PHONE" />
答案 2 :(得分:1)
所以我有以下实用程序方法here。
public static void callContact(Context context, String contactNo) {
try {
String uri = "tel:" + contactNo;
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse(uri));
context.startActivity(intent);
} catch (Exception e) {
// Report no exception
}
}
不要忘记在清单中添加此权限
<uses-permission android:name="android.permission.CALL_PHONE" />