1

データを収集するために使用される Android アプリケーションを作成しました (バレーボールの統計用)。このアプリケーションは、最終的にデスクトップ コンピューター (Windows PC および Macintosh) に転送したいデータ ファイルを作成します。

現在、データを単純な文字ストリームとしてデフォルトのアプリケーション ディレクトリ (data/data/appname/files) に書き出し、これらの各データ ファイルを作成するときに MODE_WORLD_READABLE を指定します。

問題は、データ ファイルが MODE_WORLD_READABLE であっても、データの転送に使用するさまざまなユーティリティがデータ ファイルを認識できないことです。問題は、ファイルへの読み取りアクセス権がある可能性があるが、ファイルが保存されているディレクトリへの読み取りアクセス権がないことだと思います。具体的には、Android デバイスで ES ファイル エクスプローラー アプリを使用してファイルを参照できません。また、Android デバイスを PC または Macintosh に USB デバイスとして接続すると、ファイルを参照できません。

ファイルを外部ディレクトリに書き込むための唯一の解決策ですか、それともアプリケーションディレクトリで MODE_WORLD_READABLE を使用することについてここに欠けているものがありますか?

4

2 に答える 2

1

/data/data/com.package.appアプリケーションベースディレクトリ(通常はのようなもの)とその中の最上位ディレクトリ(databases、、、、...)filesのファイルアクセスモードはです。アプリケーション自体以外のユーザーの場合、関連する部分はです。つまり、ディレクトリを読み取る(参照する)ことはできませんが、トラバースすることはできます。したがって、探しているもの(完全なパス)が正確にわかっている場合は、ファイルを読み取ることができます。cacherwxrwx--x--xMODE_WORLD_READABLE

于 2013-01-10T11:49:22.023 に答える
0

現在、データを単純な文字ストリームとしてデフォルトのアプリケーション ディレクトリ (data/data/appname/files) に書き出し、これらの各データ ファイルを作成するときに MODE_WORLD_READABLE を指定します。

私の知る限り、アプリケーション サンドボックス (つまり、/data/data/appname/files) からファイルにアクセスすることはできません。可能であれば、コンテンツ プロバイダーを使用したことがないかもしれません。

ここに表示される唯一の解決策は、あなたが達成したいことは、ルート化されたデバイスでのみ可能であることです

于 2012-06-09T02:28:04.580 に答える