В предисловии к моему вопросу пару замечаний.Я не хочу хранить указанный файл на SDCard в этом случае.Файл также не может быть сохранен непосредственно в каталоге локальных файлов приложений.Он должен находиться в подкаталоге, поэтому он не может записать файл с помощью openFileOutput () и MODE_WORLD_READABLE.
Приложение может загружать файлы небольших файлов, например pdf, и сохранять их локально в подкаталоге.Я хотел бы, чтобы пользователь мог открыть эти файлы, если у него есть приложение, которое может их открыть.
Например, здесь есть намерение отправить путь в формате pdf:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(path), "application/pdf");
startActivity(intent);
что-то вроде: /data/data/packagename/files/subdir/example.pdf
Это намерение откроет просмотрщик PDF, но просмотрщик не сможет открыть файл.Я предполагаю, что это проблема с разрешениями.Я попробовал предложение Марка Мерфи здесь: http://groups.google.com/group/android-developers/browse_thread/thread/4e55d869213483a9/b7270078ac1a2744?lnk=raot об использовании Runtime.getRuntime().exec("chmod 755 " + fileName);
, но это не имело никакого значения.Он также предложил поставщика контента, но я бы хотел этого избежать, если смогу, потому что кажется, что очень просто передать этот файл в другое приложение.
Если поставщик контента - единственный вариант, могу ли ячтобы сохранить файл в контент-провайдере или я могу просто использовать провайдер контента в качестве прохода, чтобы при необходимости передать его в другое приложение?
Спасибо, дайте мне знать, если мне не ясно.