/**
* Uses an implicit intent to make the phone call.
* Before calling, checks to see if permission is granted.
*
* @param view View that was clicked.
*/
public void callNumber(View view) {
String normalizedPhoneNumber;
// Find the editText_main view and assign it to editText.
EditText editText = (EditText) findViewById(R.id.editText_main);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
Log.d(TAG, "Running version earlier than Lollipop. Can't normalize number.");
normalizedPhoneNumber = editText.getText().toString();
} else {
normalizedPhoneNumber =
PhoneNumberUtils.normalizeNumber(editText.getText().toString());
}
// Use format with "tel:" and phone number to create phoneNumber.
String phoneNumber = String.format("tel: %s", normalizedPhoneNumber);
// Log the concatenated phone number for dialing.
Log.d(TAG, getString(R.string.dial_number) + phoneNumber);
Toast.makeText(this, getString(R.string.dial_number) + phoneNumber,
Toast.LENGTH_LONG).show();
// Create the intent.
Intent callIntent = new Intent(Intent.ACTION_CALL);
// Set the data for the intent as the phone number.
callIntent.setData(Uri.parse(phoneNumber));
// If package resolves to an app, check for phone permission,
// and send intent.
if (callIntent.resolveActivity(getPackageManager()) != null) {
checkForPhonePermission();
startActivity(callIntent);
} else {
Log.e(TAG, "Can't resolve app for ACTION_CALL Intent.");
}
}
MainActivity.java 文件源码
java
阅读 22
收藏 0
点赞 0
评论 0
项目:android-fundamentals-phone-sms
作者:
评论列表
文章目录