2017-12-31 58 views
-1

수신 SMS 수신에 BroadcastReceiver를 사용하고 있습니다.수신 SMS 수신 시간 및 수신 수신

@Override 
    public void onReceive(Context context, Intent intent) { 
     final Bundle bundle = intent.getExtras(); 
     try { 
      if (bundle != null) { 
       final Object[] pdusObj = (Object[]) bundle.get("pdus"); 
       assert pdusObj != null; 
       for (int i = 0; i < pdusObj.length; i++) { 
        SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]); 
        String senderNum = currentMessage.getDisplayOriginatingAddress(); 
        String message = currentMessage.getDisplayMessageBody(); 
        Log.i("SmsReceiver", "senderNum: " + senderNum + "; message: " + message); 

        Intent myIntent = new Intent("sms_received"); 
        myIntent.putExtra("message", message); 
        LocalBroadcastManager.getInstance(context).sendBroadcast(myIntent); 
       } 
      } 

     } catch (Exception e) { 
      Log.e("SmsReceiver", "Exception smsReceiver" + e); 

     } 
    } 

어떻게하면 SMS를 보내고받을 수 있습니까?

답변

0

일부 질문에 이미 답변되었습니다. here.

보내려면 getTimestampMillis() 메소드를 사용해야합니다.

Calendar sendTime = Calendar.getInstance(); 
calendar.setTimeInMillis(smsMessage.getTimestampMillis()); 

int date = sendTime.get(CALENDAR.DATE); 
int hour = sendTime.get(CALENDAR.HOUR_OF_DAY); 
// etc... 

수신하려면 System.currentTimeMillis()를 사용하십시오.

Calendar receiveTime = Calendar.getInstance(); 
calendar.setTimeInMillis(System.currentTimeMillis()); 

int date = receiveTime.get(CALENDAR.DATE); 
int hour = receiveTime.get(CALENDAR.HOUR_OF_DAY); 
// etc...