1

TL:DR; バージョン:

  • マニフェストに 2,000 行、1 つのアクティビティに 4 つのインテント フィルター、50 の mimeTypes、400 の fileExtensions
  • アプリは、アクション SEND を介して印刷に関連するすべてのファイルを開きます (txt から xls、tiff、vcs など)。
  • ただし、印刷できないファイル (ビデオ、APK など) は含まれません。

  • サードパーティのエクスプローラーから SINGLE ファイルを開くと、フィルターが正しく機能する

  • 複数のファイル (SEND_MULTIPLE) に対して同じことを行うと、1 つのファイルが一致する場合にフィルターが正しく機能します。

問題:

使用時

List<ResolveInfo> resolveList = ctx.getPackageManager().queryIntentActivities(i, PackageManager.MATCH_DEFAULT_ONLY);

マニフェストのインテント フィルターがその OUT をフィルター処理する必要がある場合でも、ビデオ (つまり、印刷不可) を含む Uri のアプリで、アプリが提供されます。(サードパーティのアプリからファイルを開くときと同様です。)

ドキュメントを参照してください: http://developer.android.com/reference/android/content/pm/PackageManager.html#MATCH_DEFAULT_ONLY

...マニフェストは正しくなければなりませんが、クエリはフィルタリングされていないようです... =/

アドバイスやアイデアはありますか?

4

0 に答える 0