「content://sms/」テーブルに複数のSMSを挿入したい。500 SMSとしましょう。
私のコードは:
ContentValues [500] valuesarray = new ContentValues[];
for(int i=0;i<values.size();i++){
valuesarray[i] = values.get(i);
}
getContentResolver().bulkInsert(Uri.parse("content://sms/"), valuesarray);
動作しますが、非常に遅く、insert() メソッドとの違いはありません。ネットで検索したところ、次のような方法が見つかりました。
try {
database.beginTransaction();
for (ContentValues initialValues : allValues) {
values = initialValues == null ? new ContentValues() : new ContentValues(initialValues);
rowId = insertEvent(database, values);
if (rowId > 0)
rowsAdded++;
}
database.setTransactionSuccessful();
} catch (SQLException ex) {
} finally {
database.endTransaction();
}
ただし、これは個人用データベース用です。Android の "content://sms/" プロバイダーでこのようなメソッドを使用するにはどうすればよいですか?