-2
"Amount"라는 키워드가 포함 된 사용자 SMS를 읽고 데이터베이스에 해당 사용자의 번호를 저장해야하는 앱이 있습니다. 어떻게이 일을 성취 할 수 있습니까?Android 앱을 사용하여 "amount"라는 키워드가있는 사용자 모바일의 모든 SMS 메시지를 읽고 데이터베이스에 저장하려면 어떻게해야합니까?
"Amount"라는 키워드가 포함 된 사용자 SMS를 읽고 데이터베이스에 해당 사용자의 번호를 저장해야하는 앱이 있습니다. 어떻게이 일을 성취 할 수 있습니까?Android 앱을 사용하여 "amount"라는 키워드가있는 사용자 모바일의 모든 SMS 메시지를 읽고 데이터베이스에 저장하려면 어떻게해야합니까?
는 이미 아래의 코드
public void getAllSms()
{
try
{
Calendar calendar;
long milliSeconds;
String finalDateString;
int month;
SmsMessage smsMessage;
list = new ArrayList<>();
list2 = new ArrayList();
DateFormat formatter, formatter3;
Uri uri = Uri.parse("content://sms/inbox");
if (ContextCompat.checkSelfPermission(getBaseContext(), "android.permission.READ_SMS") == PackageManager.PERMISSION_GRANTED) {
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
if (cursor != null) {
if (cursor.moveToFirst()) {
for (int idx = 0; idx < cursor.getCount() && idx < 100; idx++) {
milliSeconds = cursor.getLong(cursor.getColumnIndex("date"));
formatter = new SimpleDateFormat("yyyy");
formatter3 = new SimpleDateFormat("dd hh:mm:ss");
calendar = Calendar.getInstance();
month = calendar.getTime().getMonth() + 1;
calendar.setTimeInMillis(milliSeconds);
finalDateString = formatter.format(calendar.getTime()) + "-" + String.format("%02d",month) + "-" + formatter3.format(calendar.getTime());
if (idx < 50) {
smsMessage = new SmsMessage();
smsMessage.setAddress(cursor.getString(cursor.getColumnIndex("address")));
smsMessage.setMessage(cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Sms.BODY)));
smsMessage.setCreatedTime(finalDateString);
list.add(smsMessage);
}
cursor.moveToNext();
}
} else {
cursor.close();
}
}
}
}
catch (Exception e)
{
Log.d("error","cathc");
}
}
참고 사용자 이동 사용에서 모든 SMS를 읽고 개발 : 당신은 커서가 null의 확인이 필요하거나
SmsMessage 당신이 그것을 삭제할 수 있지만 SMS 콘텐츠를 얻기위한 매개 변수를 사용하여 Json 응답 클래스입니다 –
당신은 무엇을하려고하지? 어떤 문제가 발생 했습니까? – CommonsWare
SMS를 읽을 수 있지만 가져올 수는 없습니다. 그것을 알아낼 수 없습니다. –