7

これから受信トレイからメッセージを読むことができます:--

 Uri uriSMSURI = Uri.parse("content://sms/inbox");

 Cursor cur = getContentResolver().query(uriSMSURI, null, null, null, null);

私はこれから日付にアクセスします:-

   date = cur.getString(cur.getColumnIndexOrThrow("date"));

しかし、今の問題は、受信トレイからのメッセージ時間ではなく、現在の時間を提供することです。悪い編集で申し訳ありません。どんなアイデアでも大歓迎です。前もって感謝します!

4

3 に答える 3

13

次のコードを使用します。

ContentResolver contentResolver = getContentResolver();
Cursor cursor = contentResolver.query( Uri.parse( "content://sms/inbox" ), null, null, null, null);
cursor.moveToFirst();
String date =  cursor.getString(cursor.getColumnIndex("date"));
Long timestamp = Long.parseLong(date);    
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timestamp);
Date finaldate = calendar.getTime();
String smsDate = finaldate.toString();
Log.d(Home.class.getName(), smsDate);
于 2012-10-30T12:10:07.220 に答える
7

Sms テーブルでは、日付はミリ秒単位の INTEGER として格納されます。だから、使う

millis = cur.getLong(cur.getColumnIndexOrThrow("date"))カーソル上。

次に、使用します

DateFormat.format("EEEE, MMMM dd, yyyy h:mm:ss aa", new Date(millis))

読みやすい文字列を取得します。

于 2012-10-30T12:12:00.327 に答える