Android使用contentresolver.bulkInsert()在“content:// sms /”中插入多个短信:太慢了

时间:2012-11-03 19:12:50

标签: android sqlite

我想在“content:// sms /”表中插入多个短信。让我们说500短信。

我的代码是:

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 /”提供程序中使用这样的方法?

1 个答案:

答案 0 :(得分:4)

  

如何在Android的“content:// sms /”提供程序中使用这样的方法?

你不能,抱歉。

(此外,该提供商不是Android SDK的一部分,并且可能不存在于所有设备上,因此您不应该使用它)