2013-08-20 2 views
0

Мне нужно получить доступ к файлу,Android/Qt доступа к базам данных

/data/data/com.google.android.music/databases/music.db 

Это в настоящее время запрещен. Я использую Qt для Android-платформы. Я думаю, что проще использовать методы Qt для чтения базы данных, чем скрипты с JNI/NDK.

Я думаю, что это разрешения: разрешения по умолчанию, которые не работают для меня, являются следующим образом-

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

Большое спасибо за любую помощь!

ответ

0

Использование личных файлов других приложений в Android запрещено. У этого нет разрешения. Для доступа к этим данным вы должны использовать соответствующий ContentResolver. И я полагаю, что единственный способ - использовать открытый Java API через код клея JNI.

Прочтите это, чтобы узнать, как использовать этот ContentResolver: Querying Google Play Music database in Android.

+0

Хм. Я попробовал. У меня возникли проблемы с контекстом приложения. – Jacob

+0

Вы имеете в виду андроид.content.Context? Где вам это нужно? В вашей реализации C/C++? –

+0

Да. Что касается JNI, я могу получить функцию, требующую контекста в качестве аргумента, который, если бы я мог пройти, сработает. Он работал на чистой Java, но я не могу передать контекст, и я не могу сделать это иначе. Вот почему я попытался просто вытащить базу данных вручную. – Jacob

Смежные вопросы