2016-06-23 24 views
0

Androidでclass Fileを使用しました。メソッドFile.setReadable(boolean readable、boolean ownerOnly)、失敗しました:( Android開発者のドキュメントには次のように書かれています:Androidファイルの権限

"操作が成功した場合にのみtrueを返します。この抽象パス名のアクセス許可を変更するためのアクセス許可。読み取りが可能で、そのファイルシステムが読み取り権限を実装していない場合、操作は失敗します。この抽象パス名 "? 皆様のご協力をお願い致します。

答えて

0

「この抽象パス名のアクセス許可を変更する権限」とは何ですか?あなたは起こるものは何でもデスクトップOS上で

はあなたのアクセス権を変更することができ、ファイル、およびあなたができないファイルがある—のWindows、OS X/MacOSの、またはLinux —を使用します。これは、OSが提供するファイルシステムセキュリティモデルの一部です。たとえば、Linuxサーバーでは、Webサーバーに関連付けられたLinuxユーザーアカウントは任意のファイルに対するアクセス許可を変更できません。このようにして、そのWebサーバーに悪用可能なバグ(バッファーオーバーランなど)がある場合、エクスプロイトがどの程度のダメージを与えるかを制限します。

AndroidはLinuxをベースにしており、これらの機能を継承しています。アプリを使ってアプリ間のプライバシーを維持しています。 App Aはinternal storageでApp Bのファイルにアクセスできず、どちらのアプリもremovable storage(Android 4.4以降)の任意のファイルにアクセスすることはできません。

一般に、Androidでは、ファイルのアクセス許可を変更しようとすると「間違っている」ということがあります。どのような次のような、他のいくつかの方法で解決されている務めたほうがよい解決しようとしている問題:

  • が最初の場所(例えば、external storage)で公に読み取り可能である、または

  • そのどこかにファイルを置きます

    私は隠されたメディアファイルをしたい場合は、必要に応じてだからあなたの答え ため

+0

おかげで他のアプリからアクセスできるプライベートファイルを作成するFileProviderを使用して、まだうまく機能上のいずれかの方法がありますか? –

+0

@QuốcVửngHồ:この文脈では、「隠されたメディアファイル」とは何を意味するのか分かりません。 – CommonsWare

+0

@QuốcVửngHồ:これはどういう意味かまだ分かりません。 – CommonsWare

関連する問題