如何打开系统SQLiteDatabase

时间:2011-11-03 14:20:24

标签: android sqlite sms

我正在尝试使用以下代码打开SMS db(对于censor应用程序):

SQLiteDatabase db = SQLiteDatabase.openDatabase("/data/data/com.android.providers.telephony/databases/mmssms.db", null, SQLiteDatabase.OPEN_READWRITE);

但它引发了异常:

  

11-02 18:18:50.889:E / AndroidRuntime(17226):引起:   android.database.sqlite.SQLiteException:无法打开数据库文件

我可以从ADB shell打开它。 是否可以为rw打开此数据库?或者也许只有我拥有root权限才有可能?

2 个答案:

答案 0 :(得分:4)

除非您的代码以超级用户访问权限运行,否则无法打开其他人的数据库。许多应用程序都提供Content Providers,以允许从代码中限制访问其数据。

答案 1 :(得分:1)

听起来像权限问题。我说db是只读的。