흠,, 되게 어려울주 알았는데 의외로간단하네,, 나중에 뭔가 유용할수 있어서 포스팅 남겨놔야겠다.
일단 첫번째로 전화번호 가져오는 방법에 대해서 알아보겠다
Manifest에 일단 허가하도록 하자
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
정말간단하다 그리고
TelephonyManager tm=(TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
텔로포니 메니저 쓸때가 많다 전화번호뿐아니라 통신사업주 등등,,,알수있는게 많지만 그중 전화번호만가져오면
phoneNum=tm.getLine1Number(); 이렇게만 해주면 자신의 갖고 있는 전화번호를 가져올수있다.
바로이어서 전화인텐트까지보면 이것또한 마찬가지이다
Manifest를 사용해서 허가 먼저하도록하자
<uses-permission android:name="android.permission.CALL_PHONE"/>
일단한번 선언해주고 난뒤에
나의 경우는 AlertDialog를 활용하여서 전화를 할수있게하였다.
AlertDialog.Builder bld=new AlertDialog.Builder(현재클래스.this);
bld.setTitle("다이어로그창제목");
bld.setMessage("내용 넣기");
//아래부분은 뒤로가기 버튼이 안되게하는건데 이거좀 유용하다 내가 실수로자꾸 뒤로가기 버튼으 누르는경우가 많은다 true하면 활성화다 false로해서 뒤로가기해도 안간다.
bld.setCancleable(false);
//오른쪽에 있는버튼에 기능을넣어준다.
bld.setPositiveButton("전화하기",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
//이부분에서 클릭시 전화를하게끔할것이다. 일단 인텐트만들자.
Intent call=new Intet();
//ACTION_DIAL은 전화걸기바로직전상태까지간다.
call.setAction(android.content.Intent.ACTION_CALL);
//바로 전화로 연결될수있도록 Uri설정해준다.
call.setData(Uri.parse("tel:"+phoneNum);
//엑티비티를 실행한다.
startActivity(call);
}
});
//이번에는 그오른쪽에 기능에대해알아보자
//여기서는 리스너를 않넣었는데 대부분앱에서는 여기에 클릭리스너를 넣어 finish()를호출할것이다. 하지만 내가현재 만드는앱은 그냥 다이어로그만 꺼주면되므로 null한다.
bld.setNegativeButton("닫기",null);
//보여주고 끝내자
bld.show();