[android-003]android 앱으로 핸드폰 문자 받기
2. 문자를 읽을 함수에 권한을 설정하고 문자를 읽는다
// ,
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_SMS)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.READ_SMS}, 1);
}
//
// Uri uri = Uri.parse(SMS_URI_INBOX);
Uri uri = Uri.parse(SMS_URI_ALL);
SmsContent sc = new SmsContent(this, uri);
//
infos = sc.getSmsInfo();
....
//activtiy MainActivity , context, contect contentResolver
ContentResolver cr = activity.getApplicationContext().getContentResolver();
// /
String[] projection = new String[]{"_id", "address", "person",
"body", "date", "type", "sim_id"};
Cursor cusor = cr.query(uri, projection, null, null, "date desc");
// , , , Null
int nameColumn = cusor.getColumnIndex("person");
//
int smsbodyColumn = cusor.getColumnIndex("body");
// ,long , 1256539465022,
int dateColumn = cusor.getColumnIndex("date");
//type: 1 ,2
int typeColumn = cusor.getColumnIndex("type");
int simIdColumn = cusor.getColumnIndex("sim_id");
//
int addressColumn = cusor.getColumnIndex("address");
if (cusor != null) {
while (cusor.moveToNext()) {
SmsInfo smsinfo = new SmsInfo();
String sms = "name:"+cusor.getString(nameColumn)+";"+
"date:"+cusor.getString(dateColumn)+";"+
"address:" +cusor.getString(addressColumn)+";"+
"body:"+cusor.getString(smsbodyColumn)+";"+
"type:"+cusor.getColumnIndex("type")+";"+
"sim_id:"+cusor.getColumnIndex("sim_id")+";"+
"imei:" + imeistring;
smsinfo.setSms(sms);
infos.add(smsinfo);
}
cusor.close();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.