Intent를 이용해서 전화 및 화상 통화 호출하는 방법
07 Oct 2018 | AndroidIntent를 이용해서 전화 및 화상 통화 호출하는 방법
제조사마다 방식이나 특정 Flag 값이 다를 수 있습니다.
import android.Manifest.permission;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
EditText etPhoneNumber;
static final int PERMISSION_REQUEST_CODE = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etPhoneNumber = findViewById(R.id.et_phone_number);
findViewById(R.id.btn_call).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_CALL);
i.setData(Uri.parse("tel:" + getPhoneNumber()));
i.putExtra("android.phone.extra.calltype", 0);
startActivity(i);
}
});
findViewById(R.id.btn_video_call).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_CALL);
i.setData(Uri.parse("tel:" + getPhoneNumber()));
i.putExtra("videocall", true);
startActivity(i);
}
});
if (checkSelfPermission(permission.CALL_PHONE)
!= PackageManager.PERMISSION_GRANTED) {
String[] permissions = new String[]{permission.CALL_PHONE};
requestPermissions(permissions, PERMISSION_REQUEST_CODE);
}
}
String getPhoneNumber() {
return etPhoneNumber.getText().toString();
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case PERMISSION_REQUEST_CODE:
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(getApplicationContext(), "Permission 완료", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Permission 실패", Toast.LENGTH_SHORT).show();
}
break;
}
}
}