1

着信 SMS のタイム スタンプを取得する方法を教えてください。これが私のコードです。

 public void onReceive(Context context, Intent intent) {
    Log.i("SMS Reciever", "smsReceiver: SMS Received");
    Bundle bundle = intent.getExtras();
    if (bundle != null) {
        Log.i("SMS Reciever", "smsReceiver : Reading Bundle");
        Object[] pdus = (Object[])bundle.get("pdus");
        for (int i = 0; i < pdus.length; i++) {
        SmsMessage sms = SmsMessage.createFromPdu((byte[])pdus[i]);
        SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdus[i]);
        String phoneNumber = currentMessage.getDisplayOriginatingAddress();
        String senderNum = phoneNumber;
        String message = currentMessage.getDisplayMessageBody();
        Log.i("SmsReceiver", "Send From: "+ senderNum + "; message: " + message);
4

2 に答える 2

1

着信 SMS からタイムスタンプを取得してみてください:

SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdus[i]);
 // get Timestamp
long timstamp=currentMessage.getTimestampMillis();
于 2013-06-25T21:50:28.787 に答える
0

デバイスで SMS を受信するとすぐに、ブロードキャスト レシーバーが暗号化したとおりに処理します。SMS が受信された時刻を取得するには、次を使用できます。

long smsReceiveTime = System.currentTimeMillis();

あなたの後

String message = currentMessage.getDisplayMessageBody();

同様に、日付の場合:

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c.getTime());
于 2013-06-25T21:42:57.147 に答える