2017-08-08 5 views
0

私は、特定のファイルタイプを作成して開くアンドロイドアプリケーションを開発しています。私は、Storage Access Frameworkを使用して、Kitkat以上のオペレーティングシステムのファイルにアクセスしています。今私は.encファイルを開き、他のファイルをフィルタリングする必要があります。ストレージアクセスフレームワークで珍しいファイル拡張子を設定するにはどうすればよいですか?

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); 
intent.addCategory(Intent.CATEGORY_OPENABLE); 
intent.setType("file/enc"); 

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); 
intent.addCategory(Intent.CATEGORY_OPENABLE); 
intent.setType(".enc"); 

をそれらのどれも働いていない:ストレージアクセスフレームワークを使用して私が試してみました。お願い助けて。

答えて

1

今、私は申し訳ありませんが、不可能であることを

.encが付いたファイルを開くと任意の他のファイルをフィルタリングする必要があります。

さらに、コンテンツがファイルとして表されていない可能性があるため、ファイル拡張子として.encを持たない完全に有効なファイルをユーザーや他のソフトウェアが停止することはありません。たとえば、このWebページはHTML形式ですが、URLの末尾は.htmlではありません。

代わりに、ユーザーが何かを選択して、結果の選択を検証して、期待どおりのファイル形式でうまく構築されているかどうかを確認します。

+0

SAFにこのようなベアボーンAPIがあることは残念です。 MIMEタイプを使用する多くの現実世界のアプリケーションは、未確認のファイルに対して人工的なMIMEタイプを表すために、 "application/x-extension"のような作成されたMIMEタイプを使用する習慣を持っています。さらに、MIMEタイプの現実世界のユーザは、通常、libmagicまたは類似のソフトウェアを使用し、開発者と通信して、関心のある魔法の署名をリストに追加します。しかし、Androidは密かに開発されているため、新しいMIMEタイプを追加することは本質的に不可能です。 APIの貧しい選択肢... – user1643723

関連する問題