GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Android-Document-Providers.html ・ emacs-doc.conao3.com

H.4 Androidで他のプログラムからファイルにアクセスする

Android 5.0では、「ドキュメントプロバイダー」という新しい種類のプログラムが導入されました。これらのプログラムは、アセットマネージャーやUnixファイルシステムとは独立して、自身のファイルへのアクセスを提供する小規模なサービスです。Emacsは、これらが提供するファイルやディレクトリへのアクセスをサポートしており、そのファイルをディレクトリ /content/storage 内に配置します。

Emacs がこれらのディレクトリのいずれかへのアクセス権を与えられる前に、まずアクセス権を要求しなければなりません。これは、ファイル選択ダイアログを表示するコマンド(名前によるコマンドの実行を参照)android-request-directory-accessを実行することで行います。

このダイアログでディレクトリを選択すると、その後、その内容が /content/storage/authority/id という名前の新しいディレクトリ内で利用可能になります。ここで、authority はドキュメントプロバイダーの名前、id はドキュメントプロバイダーによってそのディレクトリに割り当てられた一意の識別子です。

このようなディレクトリは、不要になった時点で、コマンド android-relinquish-directory-access にその名前を指定することで削除できます。

/assets ディレクトリに適用されるのと同様の制限(Android で Emacs がアクセス可能なファイル を参照)が、それらのディレクトリ内にサブプロセスを作成する際にも適用されます。これは、それらが Unix ファイルシステム内に存在しないためです。さらに、通常 Emacs はこれらのディレクトリ内にファイルを書き込んだり作成したりできますが、シンボリックリンクやハードリンクを作成することはできません。

ドキュメントプロバイダーはファイル内容を取得するために負荷の高いネットワーク操作を行うことが許可されているため、これらのディレクトリのいずれかにおけるファイルアクセス操作には、相当な時間がかかる可能性があります。