Как открыть системную базу данных SQLiteDatabase

#android #sqlite #sms

#Android #sqlite #sms

Вопрос:

Я пытаюсь открыть базу данных SMS (для приложения 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. Возможно ли открыть эту базу данных для rw? Или, может быть, это возможно, только если у меня есть права root?

Ответ №1:

Вы не можете открыть чужую базу данных, если ваш код не запущен с доступом суперпользователя. Многие приложения предлагают поставщикам контента разрешить ограниченный доступ к своим данным из вашего кода.

Ответ №2:

Похоже, проблема с разрешениями. Я бы сказал, что БД доступна только для чтения.