0
私のアプリケーションでは、Intent.ACTION_VIEW
でアクセス可能ないくつかのデータを表示する必要があります。問題は単純な事実ですが、私のデータのACTION_VIEWインテントウリに渡すことができません。なぜなら、ファイルやネットリソースにないデータは暗号化データベースに入っているからです。 android.net.Uri
をサブクラス化するか、方法を見つけて、Uriの単純なInputStreamの代わりにACTION_VIEW acceptを教える必要があります。しかし:ウリ()コンストラクタはIntent.ACTION_VIEWだけUri
データとしてを受け入れIntent.ACTION_VIEW and subclassing android.net.Uri
- android.net.Uriは、サブクラス化することはできません
任意のアイデア(それをしません?)どのように問題を解決するには?
これはオプションですが、データのMIMEタイプが異なる可能性があるため、ビルトインビューアを使用したいと考えています。可能性のあるすべてのビューアを書き換えることができません。恐らく利用可能な視聴者にフック/コールバックを持ち、それらのデータを転送する方法はいくつかありますか? – barmaley
@barmaley:そうではありません。解読されたアクセスを提供するコンテンツプロバイダを公開することはできますが、誰でもコンテンツプロバイダにアクセスして暗号化の価値を破ることができます。あるいは、暗号化されたファイルをファイルに書き込んで 'Uri'を渡すこともできますが、パスを推測すると誰でもそのファイルにアクセスできます。 – CommonsWare
私はすでに2回目をしています - 私は一時ファイルに保存していますが、復号化していますが、この場合にはセキュリティ違反の一時ファイルが後で復元できます(http://stackoverflow.com/questions/4448772/safely-wipe-ファイル内容)。第1の選択肢について:それを実現する方法をもう少し詳細に説明できますか? Thanx in advance – barmaley