может ли служба Android, работающая в своем собственном процессе, получить доступ к папке приложения / data / data / <package>? - PullRequest
1 голос
/ 04 октября 2011

В рамках моего приложения я создаю службу Android, которая инкапсулирует библиотеку собственного кода.Служба Android работает в своем собственном процессе.Мне нужен собственный код из службы Android для доступа и записи в личные данные из папки установки (папка / data / data / package).Это возможно?Похоже, что собственный код получает сообщение об ошибке записи.

В той же строке эта служба может обращаться к каталогу SD-карты по адресу / mnt / sdcard / Android / data /?получает ошибку доступа.

Любое подтверждение поможет

спасибо, Эрик

1 Ответ

2 голосов
/ 04 октября 2011

По обоим вопросам: Да.

Ваша служба является частью вашего приложения, так же, как действия и другие части приложения.Он может получить доступ к личной папке приложения, правильно определенной:

getPackageManager().getPackageInfo("com.example.app", 0).applicationInfo.dataDir;

Также он может записывать на SD-карту, если у вас есть разрешение в манифесте:

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

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

...