AndroidにSMSログを保存するコードを見つけるのを手伝ってください.calllogとsmslogを保存するアプリで作業する必要があります.calllogのコードを取得しましたが、smslogは適切なコードを取得できませんでした. 電話からsmslogの名前、番号、msgtext、日付と時刻を取得するだけで済みます。コードを取得するのを手伝ってください。助けてくれてありがとう。
質問する
161 次
1 に答える
0
これがあなたの解決策です...
このメソッドを呼び出します...必要に応じて例外をキャッチします。これにより、すべてのSMSの詳細がLogCatに出力されます...見つかったSMSの数も返されます...
public int getAllData() throws Exception {
// Declarations
int dataCount = 0;
// Details to get
String type = null;
String number = null;
String body = null;
String _date = null;
String date = null;
// Query details
Uri dbUri = Uri.parse("content://sms");
String[] projection = { "type",
"address",
"body",
"date" };
String selection = null;
String[] selectionArgs = null;
String sortOrder = null;
// Getting results of query
Cursor smsInfoCursor = getContentResolver().query(dbUri, projection, selection, selectionArgs, sortOrder);
// Displaying data
Log.i(TAG, "Displaying SMS info");
if (smsInfoCursor.getCount()>0) {
smsInfoCursor.moveToFirst();
do {
// type
type = smsInfoCursor.getString(0);
if (type == null)
type = "";
Log.v("type", type);
// number
number = smsInfoCursor.getString(1);
if (number == null)
number = "";
Log.v("number", number);
// body
body = smsInfoCursor.getString(2);
if (body == null)
body = "";
Log.v("body", body);
// date time of message
date = smsInfoCursor.getString(3);
if (date == null)
date = "";
Log.v("Date", date);
Log.v("-----", "-----");
} while(smsInfoCursor.moveToNext());
}
dataCount = smsInfoCursor.getCount();
}
smsInfoCursor.close();
return dataCount;
}
また、マニフェストに次の権限を追加する必要があります...
<uses-permission android:name="android.permission.READ_SMS" />
必要に応じて選択引数を変更することもできます...
これがうまくいくことを願っています...:)
于 2012-05-29T10:03:28.610 に答える