1

次のコードを使用して画像を共有します。画像の種類が png であれば問題ありません。しかし、画像の種類が jpeg であれば、それでも OK であることに非常に驚いています。なんで?ありがとう!

Intent sharingIntent = new Intent(Intent.ACTION_SEND);
Uri screenshotUri = Uri.parse("file://"+arrPath[i]);

sharingIntent.setType("image/png");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
startActivity(Intent.createChooser(sharingIntent, "Share image using"));
4

1 に答える 1

1

これがIntentシステムの仕組みです。

http://developer.android.com/guide/components/intents-filters.html#iobjs

Intentオブジェクトは情報の束です。これには、インテントを受け取るコンポーネントにとって重要な情報 (実行されるアクションや操作対象のデータなど) と、Android システムにとって重要な情報 (インテントを処理する必要があるコンポーネントのカテゴリや指示など) が含まれます。ターゲットアクティビティを起動する方法)。

ファイルを実際に処理する責任は、そのような意図を処理するために登録するアプリケーションに任されています。この段階では、ファイルが jpg か png かを気に/チェックするつもりはありません。

あなたは基本的に、「ねえ、アプリケーションを共有している! png がある!」と言っているのです。

正確に何を求めているのかわかりませんが、jpg を共有したくない場合は、コードでそれを処理する必要があります。

于 2013-07-30T14:25:01.200 に答える