AndroidでカスタムイメージMIMEタイプを作成できますか?

android android-mediascanner mime
AndroidでカスタムイメージMIMEタイプを作成できますか?

私のアプリは、標準の.PNGと後方互換性のあるカスタム.PNGファイルを作成しましたが、アプリが(デフォルトではギャラリーではなく)特別な.PNGを認識できるようにしたいと思います。 イメージを作成した後、カスタムMIMEタイプで登録しようとしましたが、まだ通常のPNGとしてスキャンされています。

File file = new File("/mnt/sdcard/custom.png");
//now scan the file into the content database
MediaScannerConnection.scanFile(this,
            new String[] { file.toString() }, new String[] { "image/x-custom" },
                new MediaScannerConnection.OnScanCompletedListener() {
            public void onScanCompleted(String path, Uri uri) {
                Log.i("ExternalStorage", "Scanned " + path + ":");
                Log.i("ExternalStorage", "-> uri=" + uri);

                ContentResolver cr = getContentResolver();
                String mime = cr.getType(uri);
                //mime returns image/png, not image/x-custom :(
            }

AndroidにカスタムMIMEタイプを認識させる方法、および/またはアプリに拡張.PNGを認識させる方法に関するアイデアはありますか?

  1  0


ベストアンサー

スキャンはファイル拡張子に基づいているようです。今日それについて読んだので、どこにあるか思い出そうとしています。

0


pngファイル(またはmimeタイプ)を処理できるものとして(マニフェスト上で)自身を登録するアクティビティが必要です。 カスタムmimeタイプのファイルの問題は、システムが.pngを通常の.pngとは異なるタイプとして識別できるはずだということです(おそらくそうしないでしょう)。 したがって、必要なことを行うための最善の方法は、すべての.pngを処理できるIntentFilterを作成することです。

これについては、http://developer.android.com/guide/topics/intents/intents-filters.html [こちら]およびhttp://developer.android.com/guide/topics/providers/content-providersをご覧ください。 html [こちら]。

0


MIMEタイプとファイル拡張子を「* android / frameworks / base / media / java / android / media / MediaFile.java。*」に追加する必要があります。

mediascannerがMediaFile.javaでmimetypeを見つけられない場合、ファイル拡張子に基づいて新しいmimetypeを取得します。

0


タイトルとURLをコピーしました