Device Info (phone number, device id) 추출 코드.
[sourcecode language="java"]
// print device phone number.
public void printPhoneNumber(TextView tv) {
TelephonyManager mgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
tv.setText("Phone Number:"+mgr.getLine1Number());
if (DEBUG) Log.i(TAG, "phone number:"+mgr.getLine1Number());
}
// print device id.
public void printDeviceId(TextView tv) {
TelephonyManager mgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
tv.setText("Device ID:"+mgr.getDeviceId());
if (DEBUG) Log.i(TAG, "device id:"+mgr.getDeviceId());
}
[/sourcecode]
번외.
프로젝트 진행중 유심에 대한 Access가 어디까지 지원되나 검색해보았습니다.
구글링을 해본 결과 1.5버전에서 부터 sim access api가 deprecated되었다고 하네요.
SIM 관련하여 시도하였던 분들의 코드를 다시 테스트해보았습니다.
첫번째 링크
code
[sourcecode language="java"]
Cursor cur = getContentResolver().query(
Uri.parse("content://sim/adn")
,null
,null
,null
,null
);
[/sourcecode]
위 코드의 결과는 Failed to find provider info for simsim에 대한 정보는 찾을 수 없다고 나오네요.
두번 째 Link
테스트 코드
[sourcecode language="java"]
Cursor cur = getContentResolver().query(
Uri.parse("content://icc/adn")
,null
,null
,null
,null
);
[/sourcecode]
결과는 총 컬럼의 갯수 4개 속성은 아래와 같습니다.
name
number
emails
_id

위와 같은 컬럼이 나왔으나 실제 데이터값은 나오지 않았습니다.
만약 sim 대한 정보라면 하나의 정보값을 들어있었어야겠죠.
좀 더 정보가 필요하여 Contact Provider List 찾아보았습니다.
링크
안드로이드 레퍼런스 링크
안드로이드 시스템 덤프 뜨는 방법
[code]dumpsys > dumpsys.txt[/code]
덤프 파일에서 'content providers'로 검색