1
A
答えて
5
送信箱にSMSを入れてください。
public List<SmsRep> getOutboxSms()
{
if(null == context)
{
return new ArrayList<SmsRep>();
}
Uri uriSms = Uri.parse("content://sms/sent");
Cursor cursor = context.getContentResolver().query(uriSms, null,null,null,null);
List<SmsRep> outboxSms = cursor2SmsArray(cursor);
if(!cursor.isClosed())
{
cursor.close();
}
return outboxSms;
}
そして送られたボックス内のデータを処理するための方法:SmsRepの
public static List<SmsRep> cursor2SmsArray(Cursor cursor)
{
if(null == cursor || 0 == cursor.getCount())
{
return new ArrayList<SmsRep>();
}
List<SmsRep> messages = new ArrayList<SmsRep>();
try
{
for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext())
{
SmsRep singleSms = new SmsRep();
singleSms.id = cursor.getInt(cursor.getColumnIndexOrThrow("_id"));
singleSms.address = cursor.getString(cursor.getColumnIndexOrThrow("address"));
singleSms.timestamp = cursor.getLong(cursor.getColumnIndexOrThrow("date"))/1000; //### the sent time
singleSms.type = cursor.getInt(cursor.getColumnIndexOrThrow("type"));
singleSms.protocol = cursor.getInt(cursor.getColumnIndexOrThrow("protocol"));
/*
String smsSubject = cursor.getString(cursor.getColumnIndex("subject"));
byte[] subjByts = smsSubject.getBytes("UTF8");
singleSms.subject = new String(subjByts, "UTF8");
*/
String smsBody = cursor.getString(cursor.getColumnIndexOrThrow("body")); //### body
byte[] bodyBytes = smsBody.getBytes("UTF8");
singleSms.body = TextUtils.htmlEncode(new String(bodyBytes, "UTF8")); //escape,handle '='
singleSms.deviceId = deviceId;
//singleSms.body = cursor.getString(cursor.getColumnIndexOrThrow("body"));
messages.add(singleSms);
}
}
catch (Exception e)
{
Log.e(TAG, e.getMessage());
}
finally
{
cursor.close();
}
return messages;
}
定義:
public class SmsRep
{
static String separator ;
public int id;
public String address;
public long timestamp;
public int type;
public int protocol;
public String subject;
public String body;
public String deviceId;
public SmsRep()
{
// do nothing in ctor
}
}
何をしたいこれです:)
+0
SmsRepの内容は何ですか? – Billy
0
これはAndroid SDKには何もありません。申し訳ありません。
0
-1
Uri uriSMS = Uri.parse("content://sms/sent");
Cursor cur = getActivity().getContentResolver().query(uriSMS , null, null, null, null);
Cursor messagesCursor = getActivity().getContentResolver().query(uriSMS , new String[]{"_id", "address", "body", "person", "date",}, null, null, null);
if(messagesCursor.getCount() > 0) {
try {
while (messagesCursor.moveToNext())
{
int x=messagesCursor.getInt(messagesCursor.getColumnIndex("_id"));
String address=messagesCursor.getString(messagesCursor.getColumnIndex("address"));
String body=messagesCursor.getString(messagesCursor.getColumnIndex("body"));
String person=messagesCursor.getString(messagesCursor.getColumnIndex("person"));
String date_=messagesCursor.getString(messagesCursor.getColumnIndex("date"));
}
}
catch(Exception ex)
{
}
}
関連する問題
- 1. bugzillaからSMSを送信
- 2. デスクトップアプリケーションからSMSを送信
- 3. SMSテーブルから送信者の連絡先名を取得しますか?
- 4. データをSMS電話でAndroidに送信
- 5. モバイルブラウザからSMSを送信する
- 6. レールアプリから無料のSMSを送信
- 7. BlackBerry SimulatorからSMSを送信する
- 8. wp7 sms受信とSMSインターセプタを送信
- 9. Djangoからデータを取得する要求を送信する
- 10. Androidから - データをSMSから取得するContentProvider - GROUP BY
- 11. データベースからデータを取得/送信するためのAPI
- 12. 送信したデータのデータベースからIDを取得する
- 13. ブラックベリーデバイスからのSMS問題の送信
- 14. 送信SMSリストを取得するには?
- 15. HTMLフォームから送信された投稿データの取得
- 16. AFNetworking 3.0から送信された投稿データの取得
- 17. iOS - SMSからSMSを開き、SMSコンテンツを取得する
- 18. アンドロイド - 受信したSMSメッセージからスレッドIDを取得
- 19. AndroidのSMSから受信者番号を取得
- 20. Android - 着信SMSから日時を取得
- 21. 通信APIを使用してJavaアプリケーションからSMSを送信
- 22. smsでアンドロイド(sendintent)がSMSを送信
- 23. IOS Custome SMS ComposerでSMSを送信
- 24. SMSの受信時に返信SMSを送信するには?
- 25. SMSを送受信する
- 26. GenymotionでSMSを送信
- 27. Javaでsmsを送信
- 28. SMSを送信する
- 29. ブラックベリー - SMSのタイムアウトを送信
- 30. Android SMSコンテンツ(コンテンツ:// SMS /送信済み)
何?私はSMSマネージャを使用する場合。私は、SMS管理者がSMSを送信してデータを捕まえることができると聞きました。 – Billy
まず、答えでない限り、あなた自身の質問に答えないでください。回答にコメントがある場合は、回答にコメントを追加します。第二に、 'SmsManager'は「送信SMSからのデータを捕まえる」ことはありません。 – CommonsWare
データを取得するための提案がありますか? Btw、人々の答えに返信する方法?私はどんな返信も見ません。 – Billy